La API de Federated Credential Management se envía en Chrome 108, pero se espera que siga evolucionando. No se planificaron cambios rotundos.
¿Para quiénes son estas actualizaciones?
Estas actualizaciones son para ti si cumples con los siguientes requisitos:
- Eres un IdP que usa la API de Federated Credential Management.
- Eres una AC o un RP y te interesa extender la API para que se adapte a tu caso de uso (p.ej., observaste o participaste en los debates del repositorio de FedID CG y quieres comprender los cambios realizados en la API.
- Eres proveedor de un navegador y quieres ponerte al día con el estado de implementación de la API.
Si es la primera vez que usas esta API o aún no la probaste, lee la introducción a la API de Federated Credential Management.
Registro de cambios
Para mantenerte al tanto de los cambios en la API de FedCM, consulta nuestro blog o el boletín informativo.
Chrome 131 (octubre de 2024)
- La API de Storage Access ahora usa FedCM como un indicador de confianza.
- Si un usuario se autentica con FedCM, con la habilitación de la RP, la incorporación del IdP puede llamar al método
requestStorageAccess()
para obtener acceso de almacenamiento automáticamente a sus propias cookies de nivel superior sin necesidad de un mensaje adicional para el usuario.
- Si un usuario se autentica con FedCM, con la habilitación de la RP, la incorporación del IdP puede llamar al método
Chrome 125 (abril de 2024)
- Dado que la especificación actualizó el nombre de "extremos de la lista de cuentas" a "extremo de cuentas", nuestra documentación está alineada según corresponda.
- La prueba de origen para la API de Button Mode está disponible en la versión 125 de Chrome para computadoras. Obtén más información en Actualizaciones de FedCM: Prueba de origen de la API del modo de botones, CORS y SameSite.
- CORS se aplica en el extremo de aserción de ID a partir de Chrome 125.
- A partir de Chrome 125, Chrome solo enviará cookies marcadas explícitamente como
SameSite=None
al extremo de aserción de ID y al extremo de cuentas.
Chrome 123 (febrero de 2024)
- Se agregó compatibilidad con la API de Domain Hint. La API de Domain Hint permite a los RP especificar 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 Disconnect. La API de Disconnect permite que los 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 la RP y la IdP están en el mismo sitio. - Las subrecursos ahora pueden establecer un estado de acceso en el mismo sitio.
Chrome 121 (diciembre de 2023)
- La condición relajada para activar la reautorización automática de FedCM:
- La función de reautorizació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 pueda activar la reautorización automática. Esta condición se introdujo inicialmente para mitigar el riesgo de que los servicios de seguimiento traten de hacerse pasar por un proveedor de identidad (IdP) y engañen al navegador para que vuelva a autenticar automáticamente a un usuario sin su conocimiento o consentimiento. Sin embargo, este diseño no puede garantizar el beneficio de privacidad si el servicio de seguimiento tiene acceso a cookies de terceros en el contexto de la RP. El FedCM solo proporciona un subconjunto de las capacidades posibles a través de las cookies de terceros, por lo que, si el servicio de seguimiento ya tiene acceso a las cookies de terceros en el contexto de la RP, el acceso al FedCM no presenta ningún riesgo adicional de privacidad.
Dado que hay usos legítimos de las cookies de terceros y relajar la condición mejoraría la UX, este comportamiento cambiará a partir de Chrome 121. Decidimos relajar la restricción de la condición para tratar a un usuario como un usuario que regresa: si las cookies de terceros están disponibles para el IdP en el contexto del RP, Chrome confiará en la declaración del IdP sobre el estado de la cuenta del usuario especificada a través de la listaapproved_clients
y activará la reautorización automática si corresponde. Las cookies de terceros pueden estar disponibles a través de la configuración del usuario, las políticas de la empresa, las heurísticas (Safari, Firefox, Chrome) y otras APIs de plataformas web (como la API de acceso al almacenamiento). Ten en cuenta que, cuando la AC pierda el acceso a las cookies de terceros en el futuro, si un usuario nunca otorgó permiso de forma explícita en la IU de FedCM (por ejemplo, haciendo clic en el botón Continuar como), se lo seguirá considerando un usuario nuevo.
No se requiere ninguna acción del desarrollador. Ten en cuenta que el flujo de reautorización automática podría activarse más con este cambio si la AC tiene acceso a cookies de terceros y afirma que el usuario creó una cuenta en la RP en el pasado.
- La función de reautorizació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 pueda activar la reautorización automática. Esta condición se introdujo inicialmente para mitigar el riesgo de que los servicios de seguimiento traten de hacerse pasar por un proveedor de identidad (IdP) y engañen al navegador para que vuelva a autenticar automáticamente a un usuario sin su conocimiento o consentimiento. Sin embargo, este diseño no puede garantizar el beneficio de privacidad si el servicio de seguimiento tiene acceso a cookies de terceros en el contexto de la RP. El FedCM solo proporciona un subconjunto de las capacidades posibles a través de las cookies de terceros, por lo que, si el servicio de seguimiento ya tiene acceso a las cookies de terceros en el contexto de la RP, el acceso al FedCM no presenta ningún riesgo adicional de privacidad.
Chrome 120 (noviembre de 2023)
- Se agregó compatibilidad con las siguientes tres funciones en Chrome 120:
- API de Login Status: La API de Login Status es un mecanismo en el que un sitio web, en especial un IdP, informa al navegador el estado de acceso de su usuario. Con esta API, el navegador puede reducir las solicitudes innecesarias al IdP y mitigar los posibles ataques de sincronización. La API de Login Status es un requisito para FedCM.
Con este cambio, ya no se requiere la marca
chrome://flags/#fedcm-without-third-party-cookies
para habilitar FedCM cuando se bloquea la cookie de terceros. - API de Error: La API de Error notifica al usuario mostrándole una IU del navegador con la información de error que proporciona el IdP.
- API de Auto-Selected Flag: La API de Auto-Selected Flag comparte si se adquirió un permiso de usuario explícito presionando el botón Continuar como con la AC y la RP, cada vez que se produce una reautorización automática o una mediación explícita. El uso compartido solo se produce después de que se otorga permiso al usuario para la comunicación entre la AC y la RP.
- API de Login Status: La API de Login Status es un mecanismo en el que un sitio web, en especial un IdP, informa al navegador el estado de acceso de su usuario. Con esta API, el navegador puede reducir las solicitudes innecesarias al IdP y mitigar los posibles ataques de sincronización. La API de Login Status es un requisito para FedCM.
Con este cambio, ya no se requiere la marca
Chrome 117 (septiembre de 2023)
- La prueba de origen de la API de Idp Sign-In Status está disponible en Android a partir de Chrome 117. Obtén más información en Actualizaciones de FedCM: API de estado de acceso de 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 de Login Hint: Especifica una cuenta de usuario preferida para acceder.
- API de User Info: Recupera la información del usuario que regresa para que el proveedor de identidad (IdP) pueda renderizar un botón de acceso personalizado dentro de un iframe.
- API de Context de RP: Usa un título diferente de "Acceder" en el diálogo de FedCM.
- La prueba de origen para la API de IdP Sign-In Status está disponible. Obtén más información en Actualizaciones de FedCM: API de estado de acceso de IdP, sugerencia de acceso y mucho más.
Chrome 115 (junio de 2023)
- Se agregó compatibilidad con la autenticación automática, que permite que los usuarios se vuelvan a autenticar automáticamente cuando regresan después de su autenticación inicial con FedCM. Esto mejora la experiencia del usuario y permite una reautorización más optimizada en la RP después de la autenticación inicial. Obtén más información sobre la reautenticación automática de FedCM.
Chrome 110 (febrero de 2023)
- En el caso del extremo de aserción de ID, las 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 con iframes de varios orígenes para FedCM. El incorporador debe especificar el elemento
identity-credentials-get
Permissions-Policy para permitir la API de FedCM en el iframe de origen cruzado incorporado. Puedes consultar un ejemplo del iframe de varios orígenes. - Se agregó una nueva marca de Chrome
chrome://flags/#fedcm-without-third-party-cookies
. Con este parámetro, puedes probar la funcionalidad de FedCM en Chrome bloqueando las cookies de terceros. Obtén más información en la documentación de FedCM.
Chrome 108 (octubre de 2022)
- En el documento, el "manifiesto de nivel superior" ahora se llama "archivo conocido". No se requieren cambios en la implementación.
- El "manifiesto de la AC" ahora se llama "archivo de configuración" en el documento. No se requieren cambios de implementación.
- Se cambió el nombre de
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ó con anticipación en el extremo del token de ID. - El nombre del manifiesto de nivel superior cambia 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 componentes, pero, de otro modo, es 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 del manifiesto en lugar de la ruta de acceso para una llamadanavigator.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
que se envía al extremo del token de ID ahora esdisclosure_text_shown
. El valor no cambia. - Los íconos de desarrollo de la marca en el manifiesto de la IdP ya no admiten imágenes SVG, pero la Política de seguridad del contenido de la RP ya no necesita permitirlos.
Chrome 103 (mayo de 2022)
- Admite entornos de escritorio.
- Admite la configuración por RP 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
connect-src
de CSP en el documento.