La API de Federated Credential Management se envía en Chrome 108, pero se espera que continúe evolucionando. No hay cambios rotundos planificados.
¿A quiénes están dirigidas estas actualizaciones?
Estas actualizaciones son para ti en los siguientes casos:
- Eres un IdP que usa la API de Federated Credential Management.
- Eres un IdP o RP y te interesa ampliar la API para que se adapte a tu caso de uso, p.ej., observaste los debates sobre el repositorio de CG de FedID o participaste en ellos y deseas comprender los cambios realizados en la API.
- Eres proveedor de navegadores y quieres ponerte al día con el estado de implementación de la API.
Si eres nuevo en esta API o aún no la has probado, lee la introducción a la API de Federated Credential Management.
Registro de cambios
Para mantenerte al tanto de los cambios de la API de FedCM, consulta nuestro blog o el boletín informativo.
Chrome 125 (abril de 2024)
- Dado que la especificación actualizó el nombre de los "extremos de la lista de cuentas" a "extremo de cuentas", nuestra documentación se alinea en consecuencia.
- La prueba de origen de la API de Button Mode está disponible en Chrome para computadoras de escritorio 125. Obtén más información en Actualizaciones de FedCM: Prueba de origen de la API de Button Mode, CORS y SameSite.
- CORS se aplica en el extremo de aserción de ID a partir de Chrome 125.
- Chrome solo enviará las cookies marcadas de forma explícita como
SameSite=None
al extremo de aserción de ID y al extremo de cuentas a partir de Chrome 125.
Chrome 123 (febrero de 2024)
- Se agregó compatibilidad con la API de Domain Hint. La API de Domain Hint permite que los RP especifiquen una propiedad
domainHint
en una llamada a la API de FedCM para mostrar solo las cuentas coincidentes del usuario.
Chrome 122 (enero de 2024)
- Se agregó compatibilidad con la API de Desconectar. La API de Desconectar permite que las RP desconecten a sus usuarios de la cuenta del IdP sin depender de cookies de terceros.
- Ahora se omite la verificación de
/.well-known/web-identity
cuando el RP y el IdP están en el mismo sitio. - Ahora los subrecursos pueden establecer un estado de acceso del mismo sitio.
Chrome 121 (diciembre de 2023)
- La condición de flexibilización para activar la reautenticación automática de FedCM:
- La función de reautenticación automática en FedCM solo se activa cuando el usuario regresa. Esto significa que el usuario
debe acceder a la RP con FedCM una vez en cada instancia del navegador
antes de que se active el reautenticación automático. Esta condición se introdujo en un principio para mitigar el riesgo de que los rastreadores aparenten ser proveedores de identidad (IdP) y engañan al navegador para que reautentique automáticamente un usuario sin su conocimiento o consentimiento. Sin embargo, este diseño no puede garantizar el beneficio de privacidad si el rastreador tiene acceso a cookies de terceros en el contexto de RP. La FedCM proporciona solo un subconjunto de las funciones posibles a través de cookies de terceros, por lo que, si la herramienta de seguimiento ya tiene acceso a cookies de terceros en el contexto de RP, el acceso a la FedCM no presenta ningún riesgo de privacidad adicional.
Dado que hay usos legítimos de cookies de terceros y relajar la condición mejoraría la UX, este comportamiento cambiará a partir de Chrome 121. Decidimos flexibilizar la restricción de la condición para tratar a un usuario como recurrente: si las cookies de terceros están disponibles para el IdP en el contexto de RP, Chrome confiará en la declaración del IdP sobre el estado de la cuenta del usuario especificado a través de la listaapproved_clients
y activará la reautenticación automática si corresponde. Las cookies de terceros pueden estar disponibles a través de la configuración del usuario, las políticas empresariales, la heurística (Safari, Firefox y Chrome) y otras APIs de plataformas web (como la API de Storage Access). Ten en cuenta que, cuando el IdP pierda el acceso a las cookies de terceros en el futuro, si un usuario nunca otorgó permiso explícitamente en la IU de FedCM (por ejemplo, cuando hizo clic en el botón Continuar como) antes, se lo considerará como un usuario nuevo.
No es necesario que los desarrolladores realicen ninguna acción. Ten en cuenta que el flujo de reautenticación automática podría activarse más con este cambio si el IdP tiene acceso a cookies de terceros y reclama que el usuario creó una cuenta en el RP con anterioridad.
- La función de reautenticación automática en FedCM solo se activa cuando el usuario regresa. Esto significa que el usuario
debe acceder a la RP con FedCM una vez en cada instancia del navegador
antes de que se active el reautenticación automático. Esta condición se introdujo en un principio para mitigar el riesgo de que los rastreadores aparenten ser proveedores de identidad (IdP) y engañan al navegador para que reautentique automáticamente un usuario sin su conocimiento o consentimiento. Sin embargo, este diseño no puede garantizar el beneficio de privacidad si el rastreador tiene acceso a cookies de terceros en el contexto de RP. La FedCM proporciona solo un subconjunto de las funciones posibles a través de cookies de terceros, por lo que, si la herramienta de seguimiento ya tiene acceso a cookies de terceros en el contexto de RP, el acceso a la FedCM no presenta ningún riesgo de privacidad adicional.
Chrome 120 (noviembre de 2023)
- Se agregó compatibilidad con las siguientes tres funciones en Chrome 120:
- API de estado de acceso: La API de estado de acceso es un mecanismo en el que un sitio web, en especial un IdP, informa al navegador el estado de acceso del usuario. Con esta API, el navegador puede reducir las solicitudes innecesarias al IdP y mitigar posibles ataques de tiempo. La API de estado de acceso es un requisito de FedCM.
Con este cambio, la marca
chrome://flags/#fedcm-without-third-party-cookies
ya no es necesaria para habilitar FedCM cuando se bloquean las cookies de terceros. - API de Error: La API de Error notifica al usuario mostrando una IU del navegador con la información del error proporcionada por el IdP.
- API de Auto-Selected Flag: La API de Auto-Selected Flag comparte si se obtuvo un permiso explícito del usuario cuando se presiona el botón Continuar como con el IdP y el RP, cada vez que se produce un reautenticación automático o se produce una mediación explícita. El uso compartido solo ocurre después de que se otorga el permiso del usuario para la comunicación de IdP y RP.
- API de estado de acceso: La API de estado de acceso es un mecanismo en el que un sitio web, en especial un IdP, informa al navegador el estado de acceso del usuario. Con esta API, el navegador puede reducir las solicitudes innecesarias al IdP y mitigar posibles ataques de tiempo. La API de estado de acceso es un requisito de FedCM.
Con este cambio, la marca
Chrome 117 (septiembre de 2023)
- La prueba de origen para la API de estado de acceso del IDP está disponible en Android a partir de la versión 117 de Chrome. Obtén más información en Actualizaciones de FedCM: API de estado de acceso del IdP, Sugerencia de acceso y mucho más.
Chrome 116 (agosto de 2023)
- Se agregó compatibilidad con las siguientes tres funciones en Chrome 116:
- API deLogin Hint: Especifica una cuenta de usuario preferida para acceder.
- API de User Info: Recupera la información del usuario recurrente para que el proveedor de identidad (IdP) pueda renderizar un botón de acceso personalizado dentro de un iframe.
- API de RP Context: Usa un título diferente de “Acceder” en el diálogo de FedCM.
- La prueba de origen para la API de estado de acceso de IdP está disponible. Obtén más información en Actualizaciones de FedCM: API de estado de acceso del IdP, Sugerencia de acceso y mucho más.
Chrome 115 (junio de 2023)
- Se agregó compatibilidad con la reautenticación automática, que permite a los usuarios volver a autenticarse automáticamente cuando regresan después de su autenticación inicial con FedCM. Esto mejora las experiencias de los usuarios y permite una reautenticación más optimizada en la parte restringida después del consentimiento inicial. Obtén más información sobre la reautenticación automática de FedCM.
Chrome 110 (febrero de 2023)
- Para el extremo de aserción de ID, los IdP deben verificar el encabezado
Origin
(en lugar del encabezadoReferer
) para ver si el valor coincide con el origen del ID de cliente. - Ya está disponible la compatibilidad de iframe de origen cruzado para FedCM. El
incorporador debe especificar
Permissions-Policy
identity-credentials-get
para permitir la API de FedCM en el iframe de origen cruzado incorporado. Puedes consultar un ejemplo del iframe de origen cruzado. - Se agregó una nueva función experimental de Chrome
chrome://flags/#fedcm-without-third-party-cookies
. Con esta marca, puedes bloquear las cookies de terceros para probar la funcionalidad de FedCM en Chrome. Obtén más información en la documentación de FedCM.
Chrome 108 (octubre de 2022)
- El “manifiesto de nivel superior” ahora se denomina “archivo conocido” en el documento. No se requieren cambios en la implementación.
- El “manifiesto del IdP” ahora se llama “archivo de configuración” en el documento. No se requieren cambios en la implementación.
- Se cambió el nombre del
id_token_endpoint
en el "archivo de configuración" aid_assertion_endpoint
. - Las solicitudes al IdP ahora incluyen un encabezado
Sec-Fetch-Dest: webidentity
en lugar de un encabezadoSec-FedCM-CSRF: ?1
.
Chrome 105 (agosto de 2022)
- Se agregó información de seguridad importante al documento. El proveedor de identidad (IdP) debe verificar si el encabezado
Referer
coincide con el origen que el RP registró por adelantado en el extremo del token de ID. - Se cambia el nombre del manifiesto de nivel superior de
/.well-known/fedcm.json
a/.well-known/web-identity
, y la URL especificada enprovider_urls
debe incluir el nombre del archivo. - Los métodos
login()
,logout()
yrevoke()
en instancias deFederatedCredential
ya no están disponibles. - La API de Federated Credential Management ahora usa un nuevo tipo
IdentityCredential
en lugar deFederatedCredential
. Esto se puede usar para la detección de atributos, pero es, por lo demás, un cambio en gran medida invisible. - Mueve la funcionalidad de acceso de una combinación de
navigator.credentials.get()
yFederatedCredential.prototype.login()
anavigator.credentials.get()
. - El extremo de revocación en el manifiesto ya no está vigente.
- Usa un campo
identity
en lugar de un campofederated
para las llamadasnavigator.credentials.get()
. url
ahora esconfigURL
y debe ser la URL completa del archivo JSON de manifiesto en lugar de la ruta de acceso de una llamada anavigator.credentials.get()
.nonce
ahora es un parámetro opcional paranavigator.credentials.get()
.hint
ya no está disponible como opción paranavigator.credentials.get()
.
const credential = await navigator.credentials.get({
identity: {
providers: [{
configURL: 'https://idp.example/anything.json',
clientId: '********',
nonce: '******'
}]
}
});
const { token } = credential;
Chrome 104 (junio de 2022)
- El parámetro
consent_acquired
enviado al extremo del token de ID ahora esdisclosure_text_shown
. El valor no se modifica. - Los íconos de marca en el manifiesto del IdP dejaron de admitir imágenes SVG, pero ya no están permitidos en la Política de Seguridad del Contenido del RP.
Chrome 103 (mayo de 2022)
- Admite entornos de escritorio.
- Admite la configuración por grupo restringido en computadoras de escritorio.
- El extremo de metadatos del cliente ahora es opcional. En este extremo, la URL de la política de privacidad también es opcional.
- Se agregó una advertencia sobre el uso de CSP
connect-src
en el documento.