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 continuación comenzarán una prueba de origen en Android. Con la función de varios IdP, 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 nueva IU. Con la API de Button Mode, los proveedores de identidad pueden usar la API de FedCM incluso si sus usuarios no tienen sesiones de IdP activas cuando se realiza la llamada a la API. El paquete Continuation consta de la API de Continuation y la API de Parameters, que permiten una experiencia similar al flujo de autorización de OAuth que involucra un diálogo de permisos proporcionado por el IdP. El paquete también incluye otros cambios, como la API de Fields, varios configURL y etiquetas de cuentas personalizadas.
Prueba de origen: API de Multi IdP
La función permite que los usuarios elijan una cuenta de un conjunto de IdP compatibles, y los RP se benefician de mayores tasas de acceso y registro. Si el usuario accedió con varios IdP, se le solicitará que acceda al RP con uno de los 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 en la lista.
- Dentro de las cuentas que se devuelven, los IdP se ordenan aún más según la marca de tiempo de su uso más reciente, y el IdP usado 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 para una cuenta que regresa. Es probable que se deba a que el usuario accedió antes de que se implementaran los registros de marcas 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 el RP.
FedCM permite la reautenticación automática si el desarrollador la solicita y si hay una sola cuenta que regresa. En el caso de Multi IdP, si existen cuentas que regresan para varios IdPs, el usuario no se volverá a autenticar automáticamente. Tener una cuenta recurrente es un requisito importante para la reautenticació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 anteriormente con esta cuenta específica en este RP.
Si el estado de acceso del usuario se establece como desconectado para un IdP, llamar a FedCM no recupera las cuentas de ese IdP. Del mismo modo, si el usuario cerró la sesión en todos los IdP disponibles, no se mostrará automáticamente el mensaje de acceso de FedCM en el modo de widget.
Si el estado de acceso guardado en el navegador para un IdP era de acceso, pero la solicitud de recuperación no devolvió 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 de discrepancia para el IdP, lo que sugiere al usuario que acceda con el IdP que no coincide.
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 el RP de demostración o como desarrollador con Chrome 128 o versiones posteriores.
Probarlo como usuario
Pruébala como usuario. Asegúrate de que se cumplan las siguientes condiciones:
- Chrome no está configurado para bloquear las notificaciones 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 Multi-IdP 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ébalo como desarrollador
Si un proveedor de acceso tiene un SDK de JavaScript incorporado en el RP (recomendado), el proveedor puede implementar la llamada a navigator.credentials.get() para habilitar varios IdP, y los desarrolladores del RP no necesitan cambiar su código. De lo contrario, el RP debe llamar a la API de FedCM por su cuenta.
Para probar varios IdP en un RP, especifica el array de proveedores admitidos 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 varía según el IdP.
Participa en la prueba de origen
Las pruebas de origen te permiten probar funciones nuevas y brindar comentarios sobre su usabilidad, practicidad y eficacia. Para obtener más información, consulta Cómo comenzar a usar las pruebas de origen.
Puedes probar la función de Multi IdP registrándote en las pruebas de origen a partir de Chrome 128.
Para probar Multi IdP, una RP puede registrar su origen y ejecutar una prueba de origen de terceros. El IdP también puede registrarse para una prueba de origen de terceros y tener disponible la función de Multi IdP para todos sus RP con SDKs de JavaScript.
Sigue estos pasos para participar en la prueba de origen:
- Ve a la página de registro de la prueba de origen de la API de Multi IdP. 2. Haz clic en el botón Registrarse y completa el formulario para solicitar un token.
- Para registrarte en una prueba de origen de terceros, ingresa el origen del RP en el campo "Origen web". Para una prueba de origen de terceros, ingresa el origen del SDK de JavaScript del IdP y marca la casilla "Third-party matching".
- Haz clic en Enviar.
- Proporciona el token emitido en la página del RP:
- Para los participantes de la prueba de origen de 1P:
- 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 la prueba de origen de terceros: - Proporcionando un token de forma programática
- Para los participantes de la prueba de origen de 1P:
- Como una metaetiqueta en
API de Button Mode para Chrome en Android
A partir de la versión 128 de Chrome, comenzará la prueba de origen de la API de Button Mode en Chrome para Android, luego de su prueba inicial en computadoras. Con la API de Button Mode, los proveedores de identidad pueden usar la API de FedCM incluso si sus usuarios cerraron la sesión del IdP cuando se realizó la llamada a la API. El flujo de acceso se inicia con un gesto del usuario, lo que refleja mejor su intención.
En Chrome 128, se presenta una nueva función que permite a los IdP incluir el ícono del logotipo oficial del RP directamente en la respuesta del endpoint de metadatos del cliente. Esto mejora la IU en dispositivos móviles en el modo de botón.
Al igual que la marca del IdP en el archivo de configuración, los íconos del RP se pueden configurar en el IdP y se pueden devolver en la respuesta de 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
}]
Para obtener más información sobre la compatibilidad con íconos, consulta la documentación para desarrolladores.
Si el usuario aún no accedió, FedCM le solicita que acceda al IdP con el objeto login_url que proporciona el IdP a través de una pestaña personalizada de Chrome (CCT).
Si el usuario se vuelve a autenticar con una cuenta recurrente, no se mostrará la IU de divulgación.
Para registrarte en la prueba de origen, consulta las instrucciones de la API de Button Mode en computadoras. Si ya te registraste en la prueba de origen para computadoras, la función estará disponible automáticamente en Chrome para Android a partir de Chrome 128.
Paquete de la 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 su prueba inicial en computadoras. El paquete consta de varias funciones de FedCM, incluidas la API de Continuation, la API de Parameters, la API de Fields, la API de Multiple configURLs y la API de Custom Account Labels.
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, Multiple configURL admite varios archivos de configuración para un IdP, y las etiquetas de cuentas personalizadas permiten que los IdP anoten 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. Para registrarte en la prueba de origen, sigue estas instrucciones. Si ya te registraste en la prueba de origen en computadoras, las funciones estarán disponibles automáticamente en Chrome para Android a partir de Chrome 128.
Interactúa y comparte 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 acumulados.