Actualizaciones de la API de Federated Credential Management

La API de Federated Credential Management se envía en Chrome 108, pero se espera que continúe en evolución. 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 adaptarla a tu uso caso: p.ej., que hayas observado o participado en las conversaciones sobre el repositorio de CG de FedID y queremos comprender los cambios que se hicieron en la API.
  • Eres proveedor de navegadores y quieres ponerte al día con la implementación estado de la API.

Si es la primera vez que utilizas esta API o aún no la has probado, lee el 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 nuestra blog o boletín informativo.

Chrome 125 (abril de 2024)

Chrome 123 (febrero de 2024)

  • Se agregó compatibilidad con la API de Domain Hint. La sugerencia de dominio API permite que las RP especificar una propiedad domainHint en una llamada a la API de FedCM para mostrar solo las coincidencias para el usuario.

Chrome 122 (enero de 2024)

Chrome 121 (diciembre de 2023)

  • La condición de relajación para activar la reautenticación automática de FedCM es la siguiente:
    • 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 parte restringida con FedCM una vez en cada instancia del navegador antes de que se active la reautenticación automática. En un principio, esta condición para mitigar el riesgo de que los rastreadores pretendan ser una identidad (IdP) engañando al navegador para que reautentique automáticamente a un usuario sin su conocimiento o acuerdo. 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 la parte restringida. La FedCM proporciona solo un subconjunto de las capacidades posibles a través de cookies de terceros, así que si el rastreador ya tiene acceso cookies en el contexto de la parte restringida, el acceso a FedCM no implica riesgo.
      Dado que existen usos legítimos de las cookies de terceros y que relajan la mejoraría la UX, este comportamiento cambiará a partir de Chrome 121. Hemos decidido flexibilizar la restricción de la afección para tratar a un usuario como Muestra: si las cookies de terceros están disponibles para el IdP en el RP. Chrome confiará en la reclamación del IdP sobre el estado de la cuenta del usuario especificada mediante la lista approved_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, políticas empresariales, heurística (Safari, Firefox, Chrome) y otras APIs de plataformas web (como El acceso a Storage API). Nota 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, haciendo clic en el botón Continuar como) antes, se tratarán como una usuario nuevo.
      No es necesario que los desarrolladores realicen ninguna acción. Ten en cuenta que el flujo de reautenticación automática se activará más con este cambio si el IdP tiene acceso a cookies de terceros y afirme que el usuario creó una cuenta en el RP anteriormente.

Chrome 120 (noviembre de 2023)

  • Se agregó compatibilidad con las siguientes tres funciones en Chrome 120:
    • API de estado de acceso: Estado de acceso La API es una mecanismo en el que un sitio web, en especial un IdP, informa al navegador sobre la identidad del usuario estado de acceso. Con esta API, el navegador puede reducir las solicitudes innecesarias el IdP y mitigar posibles ataques de tiempo. La API de estado de acceso es una para la FedCM. Con este cambio, la marca chrome://flags/#fedcm-without-third-party-cookies ya no es necesario para habilitar FedCM cuando se bloquean las cookies de terceros.
    • Error de API: Error La API notifica al usuario mostrando una IU del navegador con la información de error proporcionada por el IdP.
    • API de Auto-Selected Flag: La marca de selección automática API comparte si se adquirió un permiso explícito del usuario al presionar El botón Continuar como con el IdP y el RP cuando se realice una reautenticación automática o se produjo una mediación explícita. El uso compartido solo ocurre después de que el usuario se otorga permiso para la comunicación de IdP y RP.

Chrome 117 (septiembre de 2023)

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 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 de la autenticación 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 encabezado Referer) 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 de la incorporación debe especificar Permissions-Policy identity-credentials-get para permitir la API de FedCM en los orígenes cruzados incorporados iframe. Puedes ver un ejemplo de el iframe de origen cruzado.
  • Se agregó una nueva función experimental 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. Obtén más información en la documentación de FedCM.

Chrome 108 (octubre de 2022)

  • "manifiesto de nivel superior" ahora se llama “archivo conocido” en el documento. No se requieren cambios en la implementación.
  • “Manifiesto del IdP” ahora se llama “archivo de configuración” en el documento. No los cambios en la implementación.
  • id_token_endpoint en el “archivo de configuración” se cambia el nombre por id_assertion_endpoint
  • Las solicitudes al IdP ahora incluyen un Sec-Fetch-Dest: webidentity en lugar de un encabezado Sec-FedCM-CSRF: ?1.

Chrome 105 (agosto de 2022)

  • Se agregó información de seguridad importante al documento. La identidad El proveedor (IdP) debe verificar si el encabezado Referer coincide con el origen la parte restringida registrada con anticipación el el extremo del token de ID.
  • Se cambió el nombre del manifiesto de nivel superior de /.well-known/fedcm.json a /.well-known/web-identity y la URL especificada en provider_urls deben incluyen el nombre del archivo.
  • Métodos login(), logout() y revoke() en FederatedCredential instancias ya no están disponibles.
  • La API de Federated Credential Management ahora usa un tipo nuevo IdentityCredential en lugar de FederatedCredential. Esto se puede usar para la detección de atributos, aunque es, de otro modo, un cambio mayormente invisible.
  • Mueve la funcionalidad de acceso de una combinación de navigator.credentials.get() y FederatedCredential.prototype.login() a navigator.credentials.get().
  • El extremo de revocación en el manifiesto ya no está vigente.
  • Usa un campo identity en lugar de un campo federated para Llamadas de navigator.credentials.get().
  • Ahora url es configURL y debe ser la URL completa del archivo JSON de manifiesto en lugar de la ruta de acceso una llamada a navigator.credentials.get().
  • nonce ahora es un parámetro opcional para navigator.credentials.get().
  • hint ya no está disponible como opción para navigator.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)

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.

Recursos