Actualizaciones de FedCM: API de Multi IdP en computadoras de escritorio, API de Button Mode y paquete de Continuation para Chrome en pruebas de origen de Android

Natalia Markoborodova
Natalia Markoborodova

A partir de Chrome 128, la API de Multi-IdP comenzará una prueba de origen en computadoras, y la API de Button Mode y el paquete de Continuation comenzarán una prueba de origen en Android. Con la función de varios proveedores de identidad, los desarrolladores pueden especificar un array de varios proveedores de identidad admitidos en una sola llamada a get(). La API de Button Mode agrega una IU nueva. Con la API de modo de botón, los proveedores de identidad pueden usar la API de FedCM incluso si sus usuarios no tienen sesiones activas de IdP en el momento de la llamada a la API. El paquete de Continuation consta de la API de Continuation y la API de Parameters, que habilitan una experiencia similar al flujo de autorización de OAuth que incluye un diálogo de permisos proporcionado por el IdP. El paquete también incluye otros cambios, como la API de Fields, Multiple configURL y Custom Account Labels.

Prueba de origen: API de Multi IdP

La función permite que los usuarios elijan una cuenta de un conjunto de IdP admitidos, y los RP se benefician de tasas más altas de acceso y registro. Si el usuario accedió con varios IdP, se le solicitará que acceda a la RP con uno de ellos.

Un usuario está accediendo con diferentes IdP a través de la API de varios IdP.

Los IdP se priorizan en función de las cuentas existentes del usuario y sus marcas de tiempo asociadas.

  • Si el usuario ya accedió al RP con un IdP específico (es decir, tiene una "cuenta recurrente"), esos IdP aparecerán primero.
  • Dentro de las cuentas que regresan, los IdP se ordenan según la marca de tiempo de su uso más reciente, y el IdP que se usó más recientemente aparece en la parte superior de la lista. En algunos casos, es posible que Chrome no tenga datos de marcas de tiempo de una cuenta recurrente. Esto puede deberse a que el usuario accedió antes de que se implementaran los registros de marca de tiempo en FedCM. Estas cuentas se enumeran debajo de las que tienen marcas de tiempo.
  • Si el usuario no tiene cuentas recurrentes con ningún IdP, se respeta el orden proporcionado por la parte restringida.

FedCM permite la reautenticación automática si el desarrollador lo solicita y si hay una sola cuenta recurrente. En el caso de varios IdP, si existen cuentas recurrentes para varios IdP, el usuario no se volverá a autenticar automáticamente. Tener una cuenta recurrente es un requisito fundamental para la autenticación automática. El navegador solo iniciará la reautenticación automática cuando haya reconocido explícitamente la cuenta. Esto implica que el usuario debe haber usado FedCM con esta cuenta específica en este RP.

Si el estado de acceso del usuario está configurado como cerrado para un IdP, llamar al FedCM no recupera cuentas para ese IdP. Del mismo modo, si el estado del usuario es de salida para todos los IdP disponibles, el mensaje de acceso de FedCM no se muestra automáticamente en el modo de widget.

Si se accedió al estado de acceso guardado en el navegador de un IdP, pero la solicitud de recuperación no mostró ninguna cuenta para este IdP (por ejemplo, si la sesión del usuario venció, pero el navegador aún no actualizó el estado de acceso), se muestra la IU que no coincide para el IdP, lo que sugiere al usuario que acceda con el IdP que no coincide.

Cuando el estado de acceso del usuario es "Accedido", pero la sesión venció, se muestra la IU de discrepancia.

Para obtener más información sobre el estado de acceso, consulta la documentación. Consulta la guía para desarrolladores para obtener más detalles sobre la implementación.

Prueba de origen: API de Multi IdP

Puedes probar la API de Multi IdP como usuario en la RP de demostración o como desarrollador con Chrome 128 o versiones posteriores.

Pruébala como usuario

Pruébala por tu cuenta como usuario. Asegúrate de lo siguiente:

  • Chrome no está configurado para bloquear los mensajes de acceso de terceros en la página: chrome://settings/content/federatedIdentityApi.
  • Accediste a varios IdP de demostración. Sigue las instrucciones de la página de demostración.

Ten en cuenta que, para probar el IdP múltiple en sitios cuyo origen no está registrado para la prueba de origen, debes habilitar la marca de función en chrome://flags/#fedcm-multi-idp.

Pruébala como desarrollador

Si un proveedor de acceso tiene un SDK de JavaScript incorporado en la parte restringida (recomendado), el proveedor puede implementar la llamada a navigator.credentials.get() para habilitar varios IdP, y los desarrolladores de la parte restringida no necesitan cambiar su código. De lo contrario, la parte restringida debe llamar a la API de FedCM.

Para probar los IdP múltiples en una RP, especifica el array de proveedores compatibles de la siguiente manera:

try {
  const cred = await navigator.credentials.get({
    identity: {
      providers: [
        {
          configUrl: "https://idp1.example/foo.json", // first IdP
          clientId: "123",
        },
        {
          configUrl: "https://idp2.example/bar.json", // second IdP
          clientId: "456",
        }
      ]
    }
  });

  const token = cred.token;
  const currentConfigFileUrl = cred.configURL;

  if (cred.configURL === 'https://idp1.example/foo.json')  {
    // handle the token for idp1.example
  } else if (cred.configURL === 'https://idp2.example/bar.json') {
    // handle the token for idp2.example
  }
} catch (error) {
  console.error("Error during credential retrieval:", error);
}

El atributo configURL dentro del objeto resultante almacena la URL del archivo de configuración del IdP con el que se autenticó el usuario. El RP puede determinar cómo controlar el token resultante, ya que difiere según la AC.

Participar en la prueba de origen

Las pruebas de origen te permiten probar funciones nuevas y enviar comentarios sobre su usabilidad, practicidad y eficacia. Para obtener más información, consulta Comienza a usar las pruebas de origen.

Para probar la función de varios IdP, regístrate en las pruebas de origen a partir de Chrome 128.

Para probar la IdP múltiple, un RP puede registrar su origen y ejecutar una prueba de origen propia. También es posible que el IdP se registre en una prueba de origen de terceros y tenga disponible la función de IdP múltiple para todas sus RP con los SDKs de JavaScript.

Pasos para participar en la prueba de origen:

  1. Ve a la página de registro de la prueba de origen de la API de varios IdP.
  2. Haz clic en el botón Register y completa el formulario para solicitar un token.
  3. Para registrarte en una prueba de origen propio, ingresa el origen del RP en el campo "Origen web". Para una prueba de origen de terceros, ingresa el origen del SDK de JavaScript de la IdP y marca la casilla "Coincidencia de terceros".
  4. Haz clic en Enviar.
  5. Proporciona el token emitido en la página del RP:
    • Para los participantes de la prueba de origen propia:
      • Como una metaetiqueta en <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • Como un encabezado HTTP: Origin-Trial: TOKEN_GOES_HERE
    • Para los participantes de pruebas de origen de terceros:
      • Proporcionando un token de manera programática

API de modo de botones para Chrome en Android

A partir de la versión 128 de Chrome, la prueba de origen de la API de Button Mode comenzará en Chrome para Android, después de la prueba inicial en computadoras de escritorio. Con la API de modo de botón, los proveedores de identidad pueden usar la API de FedCM incluso si sus usuarios salieron del IdP cuando se realizó la llamada a la API. El flujo de acceso se inicia mediante un gesto del usuario, lo que refleja mejor la intención del usuario.

En Chrome 128, se presenta una nueva función que permite que los IdP incluyan el ícono del logotipo oficial del RP directamente en la respuesta del extremo de metadatos del cliente. Esto mejora la IU en dispositivos móviles en el modo de botón.

Al igual que el desarrollo de la marca del IdP en el archivo de configuración, los íconos del RP se pueden configurar en el IdP y mostrarse en la respuesta client_metadata_endpoint de la siguiente manera:

  "privacy_policy_url": "https://rp.example/privacy_policy.html",
  "terms_of_service_url": "https://rp.example/terms_of_service.html",
  "icons": [{
      "url": "https://idp.example/rp-icon.ico",
      "size": 40
   }]
Íconos de los logotipos de la AC y la RP
Los íconos de logotipo del IdP y del RP en la IU de divulgación en dispositivos móviles.

Para obtener más información sobre la compatibilidad con los íconos, consulta la documentación para desarrolladores.

Si el usuario aún no accedió, FedCM le solicita que acceda al IdP con el login_url que proporciona el IdP a través de una pestaña personalizada de Chrome (CCT).

Un usuario está accediendo con el modo de botón en un dispositivo móvil.

Si el usuario vuelve a autenticarse con una cuenta que ya usó, no se mostrará la IU de divulgación.

Un usuario accede con una cuenta que ya usó. No se muestra la IU de divulgación.

Para registrarte en la prueba de origen, consulta las instrucciones de la API de Button Mode en computadoras de escritorio. Si ya te registraste en la prueba de origen en una computadora de escritorio, la función estará disponible automáticamente en Chrome en Android a partir de Chrome 128.

Paquete de API de Continuation para Chrome en Android

A partir de la versión 128 de Chrome, el paquete de la API de Continuation estará disponible para Chrome en Android como parte de una prueba de origen, después de la prueba inicial en computadoras de escritorio. El paquete consta de varias funciones de FedCM, incluidas la API de Continuation, la API de Parameters, la API de Fields, Varias URL de configuración y Etiquetas de cuenta personalizadas.

La API de Continuation habilita flujos de acceso de varios pasos. La API de Parameters permite pasar parámetros adicionales al IdP. La API de Fields permite que el RP solicite atributos específicos de la cuenta para la IU de divulgación en el diálogo de FedCM. Además, varios configURL admiten varios archivos de configuración para un IdP, y las etiquetas personalizadas de la cuenta permiten que los IdP anoten las cuentas para que los RP puedan filtrarlas por estas etiquetas.

Para obtener más información sobre el paquete de la API de Continuation, consulta la entrada de blog sobre el paquete de la API de Continuation en computadoras de escritorio. Para registrarte en la prueba de origen, sigue estas instrucciones. Si ya te registraste en la prueba de origen en una computadora de escritorio, las funciones estarán disponibles automáticamente en Chrome en Android a partir de Chrome 128.

Interactúa y comparte tus comentarios

Si tienes comentarios o problemas, puedes informar un problema. Mantendremos actualizada la guía canónica para desarrolladores de FedCM, junto con la página de registros de actualizaciones acumulada.