FedCM: Una API de federación de identidades que preserva la privacidad

En esta página, se explican los beneficios de FedCM, quiénes deberían considerar implementar FedCM y cómo interactúan los usuarios con FedCM.

Federated Credential Management (FedCM) es un enfoque centrado en la privacidad y fácil de usar para los servicios de identidad federada (como Acceder con un proveedor de identidad) que no depende de cookies de terceros ni redireccionamientos de navegación.

Con FedCM, el usuario dispone de una nueva forma de autenticarse con un proveedor de identidad de terceros en un sitio web.

¿Qué es la federación de identidades?

La federación de identidades delega la autenticación o autorización de una persona (usuario o entidad) a un proveedor de identidad (IdP) externo de confianza. Luego, el IdP permite que la persona acceda a un sitio web de terceros (RP). Con la federación de identidades, un RP depende de un IdP para proporcionar al usuario una cuenta sin necesidad de un nuevo nombre de usuario y contraseña.

Con las soluciones de identidad federada, el usuario no tiene que crear otro conjunto de credenciales para cada RP. Esto mejora la experiencia del usuario, reduce las posibilidades de phishing y ayuda al RP a adquirir información verificada del usuario de proveedores de identidad confiables.

Soluciones convencionales y cookies de terceros

Los mecanismos convencionales de federación de identidades se basan en elementos iframe, redireccionamientos o cookies de terceros, lo que genera inquietudes sobre la privacidad. Estas soluciones se pueden aprovechar para hacer un seguimiento de los usuarios en la Web, y los navegadores no pueden distinguir entre los servicios de identidad legítimos y la vigilancia no deseada.

Teniendo en cuenta la preocupación por la privacidad, los principales navegadores están restringiendo las cookies de terceros. Esto puede afectar algunas funcionalidades. Gracias al esfuerzo de la comunidad y a nuestra investigación, descubrimos que hay algunas integraciones relacionadas con la federación de identidades que se ven afectadas por las restricciones de las cookies de terceros.

Federación de identidades con FedCM

FedCM es independiente del protocolo: se puede implementar como una solución independiente o como una capa adicional de la que pueden aprovecharse diferentes protocolos. Por ejemplo, un servidor OAuth funcional puede beneficiarse de la experiencia de acceso con un solo toque mediada por el navegador de FedCM y de la IU intuitiva implementando extremos de FedCM y, luego, intercambiando el código de autorización que se devuelve en la respuesta de FedCM por un token de acceso de OAuth.

¿Por qué necesitamos FedCM?

En comparación con las soluciones convencionales, ofrece múltiples beneficios para el ecosistema web, ya que se diseñó pensando en el usuario y en los desarrolladores de RP y de IdP.

Compatibilidad con soluciones de identidad sin cookies de terceros

FedCM puede ayudar a reducir la dependencia de las cookies de terceros, que a menudo se usan para hacer un seguimiento de los usuarios en la Web. La API ofrece una experiencia de acceso personalizada incluso cuando las cookies de terceros no están disponibles (por ejemplo, en el modo Incógnito).

FedCM también se integra con otras APIs de Privacy Sandbox. Por ejemplo, la API de Storage Access usa la autenticación de FedCM como un indicador de confianza. Esta integración es útil para los sitios web que dependen tanto de FedCM para la autenticación como de la SAA para habilitar iframes de origen cruzado que accedan al almacenamiento necesario.

Experiencia del usuario mejorada

FedCM introduce un diálogo de IU mediado por el navegador para un proceso de acceso con un solo toque simplificado. La API también aborda el problema de las páginas de acceso desordenadas, a veces denominado problema de NASCAR.

Ejemplo del problema de NASCAR: Un sitio web con una IU desordenada causada por una selección de siete opciones de acceso diferentes.
Ejemplo del problema de NASCAR: Un sitio web con una IU desordenada causada por una selección de IdP demasiado amplia.

En lugar de una cantidad abrumadora de botones de acceso con redes sociales, FedCM proporciona una interfaz más simple y fácil de usar.

Seguridad

El enfoque de identidad federada permite a los usuarios usar cuentas de confianza administradas por IdPs. Con este enfoque, los usuarios no tienen que agregar credenciales a cada sitio. Esto reduce la superficie de ataque de phishing. Además, en lugar de implementar sus propias medidas de seguridad sólidas, los RP pueden confiar en la experiencia de los IdP que se especializan en la administración segura de identidades.

El objetivo de FedCM es hacer que el flujo de identidad federada sea aún más conveniente para los usuarios, lo que los alentará a preferirlo por sobre los flujos de identidad menos seguros.

Experiencia personalizada para más usuarios

FedCM reduce la fricción de la UX durante el flujo de registro de la cuenta. Los casos de estudio del servicio de identidad de Google muestran que los usuarios prefieren crear cuentas con el flujo de One Tap de FedCM en lugar de las opciones de acceso de varios pasos.

Con FedCM, más IdP pueden ofrecer a sus usuarios una experiencia de acceso con un solo toque. Con más IdP que ofrecen un flujo de identidad con un solo toque, los usuarios pueden elegir entre una selección más amplia de IdP en los RP. FedCM proporciona un mecanismo de selección de IdP mejorado, ya que presenta a los usuarios las cuentas más relevantes.

Con mayores tasas de registro, los RP pueden ofrecer experiencias personalizadas a más usuarios.

Compatibilidad con diversos proveedores de identidad

La IU simplificada de FedCM tiene como objetivo presentar a los usuarios una lista personalizada de los IdP pertinentes. Con el mecanismo de selección de IdP de FedCM, la elección de IdP por parte del RP ya no está restringida por el tamaño de la base de usuarios del IdP. Por ejemplo, es posible que una parte de los usuarios tenga una cuenta solo con small-idp.example y no con bigger-idp.example.

Con la función de Multi-IdP, rp.example puede admitir tanto small-idp.example como bigger-idp.example sin sobrecargar la IU. Esto beneficia a todas las partes:

  • Los usuarios pueden elegir su IdP preferido, sin importar su tamaño.
  • Los RP llegan a más usuarios a través de la compatibilidad con diversos IdP
  • Los IdP con una base de usuarios más pequeña están disponibles en más RP.

¿Quiénes deberían usar FedCM?

Esperamos que FedCM te resulte útil solo si se cumplen las siguientes condiciones:

  • Eres un proveedor de identidad (IdP) con RP externos.
  • Tienes tu propia solución de identidad y varios dominios dependen de ella.
  • Tu objetivo es admitir flujos de identidad federada incluso para los usuarios que optan por navegar sin cookies de terceros.

Eres un IdP

FedCM requiere la compatibilidad de un proveedor de identidad. Una parte externa no puede usar FedCM de forma independiente. Si eres un RP, puedes pedirle a tu IdP que te proporcione instrucciones.

RPs múltiples

Si tus RP son de terceros o tienes más de cuatro RP que usan tu solución de identidad, FedCM es la API recomendada para la identidad federada.

Tu objetivo es admitir el flujo de federación de identidades sin cookies.

FedCM admite flujos de identidad federada esenciales incluso para los usuarios que navegan sin cookies de terceros. Con FedCM, los usuarios aún pueden registrarse, acceder y salir de sus cuentas federadas en los RP.

Además, FedCM funciona como un indicador de confianza para la API de Storage Access, lo que elimina la fricción en las solicitudes de acceso al almacenamiento iniciadas por el IdP.

Interacción del usuario con FedCM

FedCM se diseñó para ser independiente del protocolo de autenticación y ofrece al usuario un nuevo flujo para autenticarse en un RP con un IdP externo. Prueba FedCM con nuestra demostración.

Accede a una parte autenticada

Los usuarios pueden elegir una cuenta de un conjunto de IdP admitidos por el RP. Si el usuario accedió con varios IdP, se le solicitará que acceda al RP con uno de ellos.

Las cuentas del usuario se muestran en el siguiente orden:

  • Primero se muestran las cuentas a las que se accedió en el dispositivo del usuario, y las cuentas a las que se accedió más recientemente aparecen primero.
  • A continuación, se muestran las cuentas a las que el usuario accedió en el RP según el IdP. La información sobre a qué cuentas se accedió se extrae del valor de la propiedad del approved_clients extremo de la cuenta.
  • Las cuentas que no se usaron en la RP antes se muestran al final.

Si hay varias cuentas dentro de cualquiera de estos niveles de prioridad, estas cuentas se ordenan aún más según el orden de los IdP proporcionados por el RP en la llamada get().

Modos de la IU de FedCM

FedCM tiene dos modos de IU: Pasivo y Activo.

Modo pasivo El modo pasivo no requiere la interacción del usuario para que aparezca el mensaje de FedCM. Cuando el usuario llega al sitio web de la parte que confía (RP), aparecerá un diálogo de acceso de FedCM cuando se llame a navigator.credentials.get() si se cumplen las siguientes condiciones:

El usuario se autentica de forma secuencial con diferentes IdP en modo pasivo: accede y sale de uno, y, luego, se autentica con el siguiente.

Modo activo En el modo activo, se requiere una activación transitoria del usuario (como hacer clic en el botón Acceder con…) para activar un mensaje de FedCM.

Un usuario accede a un RP con FedCM en modo activo.

El usuario puede completar el acceso presionando Continuar como usuario. Si la operación se realiza correctamente, el navegador almacena el hecho de que el usuario creó una cuenta federada en el RP con el IdP.

Si el usuario no tiene una cuenta en el RP con el IdP, aparece un diálogo de registro con texto de divulgación adicional, como las condiciones del servicio y la política de privacidad del RP.

Cumplimiento de las leyes de privacidad electrónica

El uso de FedCM, ya sea como IdP o RP, implica el almacenamiento de información en el equipo terminal de un usuario o el acceso a la información ya almacenada en él, por lo que es una actividad sujeta a las leyes de privacidad electrónica en el Espacio Económico Europeo (EEE) y el Reino Unido que, en general, requieren el consentimiento del usuario. Es tu responsabilidad determinar si el uso de FedCM es estrictamente necesario para proporcionar un servicio en línea solicitado explícitamente por el usuario y, por lo tanto, está exento del requisito de consentimiento.

Vision

Estamos desarrollando activamente nuevas funciones para abordar las limitaciones actuales y ofrecer una mejor experiencia del usuario.

  • Estamos explorando formulaciones de UX más silenciosas para garantizar un proceso de autenticación fluido, intuitivo y menos intrusivo para los usuarios.
  • Nos comprometemos a mejorar la privacidad del usuario. Planeamos migrar al modelo de FedCM de próxima generación orientado a la delegación que mitiga el problema del seguimiento del IdP. Con NextGen, los usuarios pueden acceder a los RP sin que el IdP los siga.
  • El objetivo de FedCM es presentarles a los usuarios una selección más amplia de IdP, según la elección del RP. Para lograrlo, estamos trabajando en las APIs de Multi-IdP y de IdP Registration.
  • Estamos trabajando activamente para integrar FedCM con otros métodos de autenticación, como las llaves de acceso, con medios adicionales, como Autocompletar, para ofrecer una experiencia de autenticación unificada.

Consulta nuestra hoja de ruta para obtener más detalles.