Presentamos algunas actualizaciones de FedCM, incluida una nueva prueba de origen para la reautorización automática.
La API de Federated Credential Management (FedCM) es una API web para la federación de identidades que preserva la privacidad. Con la federación de identidades, un RP (tercero de confianza) depende de un IdP (proveedor de identidad) para proporcionarle al usuario una cuenta sin requerir un nombre de usuario y una contraseña nuevos.
FedCM es una API diseñada a tal efecto que permite que el navegador comprenda el contexto en el que el RP y la IdP intercambian información, informar al usuario sobre la información y los niveles de privilegio que se comparten, y evitar abusos no deseados.
Actualizaciones
Hay algunas actualizaciones en la implementación de FedCM de Chrome:
- En el caso del extremo de aserción de ID, las AC deben verificar el encabezado
Origin
(en lugar del encabezadoReferer
) para ver si el valor coincide con el origen del ID de cliente. - Se agregó una nueva marca de Chrome
chrome://flags/#fedcm-without-third-party-cookies
. Con esta marca, puedes probar la funcionalidad de FedCM en Chrome bloqueando las cookies de terceros.
Para ver todas las actualizaciones anteriores de la API, consulta las Actualizaciones de la API de Federated Credential Management.
La versión más reciente de FedCM incluye una nueva función de reautoautenticación, que permite volver a autenticar a los usuarios automáticamente cuando regresan después de su autenticación inicial con FedCM. La reautorización automática está disponible como prueba de origen a partir de Chrome 112.
Reautenticación automática
Actualmente, después de que un usuario crea una cuenta federada en un RP con un proveedor de identidad a través de FedCM, la próxima vez que visite el sitio web, deberá seguir los mismos pasos en la interfaz de usuario. Es decir, deben confirmar y volver a autenticarse de forma explícita para continuar con el flujo de acceso. Como uno de los objetivos principales del FedCM es evitar el seguimiento encubierto, esta experiencia del usuario (UX) tiene sentido antes de que el usuario haya creado la cuenta federada, pero se vuelve innecesaria y engorrosa después de que el usuario la haya completado una vez. Después de que el usuario otorga permiso para permitir la comunicación entre la RP y el IdP, no hay ningún beneficio de privacidad ni seguridad para aplicar otra confirmación explícita del usuario para algo que ya reconoció anteriormente. Por eso, Chrome presenta una UX más optimizada que los RPs pueden elegir para sus usuarios recurrentes.
La reautenticación automática de FedCM (o "reautenticación automática", en resumen) vuelve a autenticar a los usuarios automáticamente (cuando los RPs habilitan esta opción) después de que regresan después de su autenticación inicial con FedCM. "La autenticación inicial" aquí significa que el usuario crea una cuenta o accede al sitio web del RP presionando el botón "Continuar como…" en el diálogo de acceso de FedCM por primera vez en la misma instancia del navegador.

El RP puede solicitar la reautorización automática llamando a navigator.credentials.get()
con autoReauthn: true
.
const cred = await navigator.credentials.get({
identity: {
providers: [{
configURL: "https://idp.example/fedcm.json",
clientId: "1234",
}],
// NOTE: We are exploring different API options to expose this
// functionality here:
// https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
// You should expect that, as a result of the origin trial, we'll
// learn more from developers and browser vendors what works best here.
autoReauthn: true, // default to false
},
});
Con esta llamada, la reautorización automática se produce en las siguientes condiciones:
- FedCM está disponible para su uso. Por ejemplo, el usuario no inhabilitó FedCM de forma global ni para la RP.
- El usuario solo usó una cuenta de FedCM para acceder al sitio web en este navegador.
- El usuario accedió al IdP con esa cuenta.
- La reautorización automática no se realizó en los últimos 10 minutos.
Cuando se cumplen las condiciones anteriores, se inicia un intento de volver a autenticar automáticamente al usuario apenas se invoca el navigator.credentials.get()
de FedCM.
Probar
Para probar la reautorización automática de FedCM de forma local, activa una marca de Chrome chrome://flags#fedcm-auto-re-authn
en Chrome 112 o versiones posteriores.
Para realizar pruebas, puedes restablecer el período de inactividad de 10 minutos quitando los datos del navegador.
- Navega a
chrome://history
. - En el cuadro de historial de búsqueda, ingresa el origen del RP.
- Haz clic en el ícono de tres puntos ⋮ y selecciona Quitar del historial.
- Reinicia Chrome.
Participa en la prueba de origen
También puedes habilitar la función en tu sitio web. Para ello, únete a la prueba de origen de terceros disponible desde la versión 112 de Chrome hasta la 114.
Las pruebas de origen te permiten probar funciones nuevas y enviar comentarios sobre su usabilidad, practicidad y eficacia a la comunidad de estándares de la Web. Para obtener más información, consulta la Guía sobre las pruebas de origen para desarrolladores web. Si desea registrarse en esta o en otra prueba de origen, visite la página de registro.
Para registrarse en el origen externo prueba y activa la función en terceros:
- Ve a la página de registro de la prueba de origen.
- Haz clic en el botón Register y completa el formulario para solicitar un token
- Ingresa el origen de entrega como Web Origin.
- Marca Coincidencia de terceros para insertar el token con JavaScript en otros orígenes.
- Haz clic en Enviar.
- Incorporar el token emitido en un tercero
Para incorporar el token a un tercero, agrega el siguiente código a tu JavaScript. biblioteca o SDK entregados desde el origen del sitio web registrado.
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = 'TOKEN_GOES_HERE';
document.head.appendChild(tokenElement);
Reemplaza TOKEN_GOES_HERE
por tu propio token.
Interactúa y comparte comentarios
Si tienes comentarios o encuentras algún problema durante las pruebas, puedes compartirlos en crbug.com en el componente Blink>Identity>FedCM.