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 implementarlo 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 el proveedor de identidad) que no depende de cookies de terceros ni de redireccionamientos de navegación.

Con FedCM, el usuario tiene una nueva forma de autenticarse con un proveedor de identidad externo 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 la parte de confianza (RP). Con la federación de identidades, una RP depende de un IdP para proporcionarle al usuario una cuenta sin requerir un nombre de usuario y una contraseña nuevos.

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 a la RP a obtener información verificada del usuario de proveedores de identidad de confianza.

Soluciones convencionales y cookies de terceros

Los mecanismos convencionales de federación de identidades dependen de iframes, 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 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 que pueden aprovechar diferentes protocolos. Por ejemplo, un servidor OAuth funcional puede beneficiarse de la experiencia de acceso con un solo toque y la IU intuitiva de FedCM, que se realiza a través del navegador, mediante la implementación de extremos de FedCM y, luego, el intercambio del código de autorización que se muestra 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, diseñados teniendo en cuenta a los usuarios, las RP y los desarrolladores de IdP.

Compatibilidad con soluciones de identidad sin cookies de terceros

FedCM puede ayudar a reducir la dependencia de las cookies de terceros, que suelen usarse 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 está integrado 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 de FedCM para la autenticación y de la SAA para permitir que los iframes de origen cruzado accedan al almacenamiento necesario.

Mejor experiencia para los usuarios

FedCM presenta un diálogo de IU mediado por el navegador para un proceso de acceso simplificado con un solo toque. La API también aborda el problema de las páginas de acceso desordenadas, que a veces se denomina el 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 gran cantidad de botones de acceso social, 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 IdP. Con este enfoque, los usuarios no tienen que agregar credenciales a cada sitio. Esto reduce la superficie de los ataques de phishing. Además, en lugar de implementar sus propias medidas de seguridad sólidas, las RP pueden depender de 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 alienta a preferirlo en lugar de 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 estudios de caso de Google Identity Service 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 las RP. FedCM proporciona un mecanismo de selección de IdP mejorado, ya que presenta a los usuarios las cuentas más relevantes.

Con tasas de registro más altas, las RP pueden ofrecer una experiencia personalizada a más usuarios.

Compatibilidad con diversos proveedores de identidad

El objetivo de la IU simplificada de FedCM es presentar a los usuarios una lista personalizada de los IdP relevantes. Con el mecanismo de selección de IdP de FedCM, la elección de IdP de la 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 varios IdP, rp.example puede admitir small-idp.example y bigger-idp.example sin desordenar la IU. Esto beneficia a todas las partes:

  • Los usuarios pueden elegir su IdP preferido, sin importar qué tan grande o pequeño sea.
  • Las 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én debería usar FedCM?

Esperamos que FedCM te sea útil solo si se cumplen estas condiciones:

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

Eres un IdP

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

Varias RP

Si tus RP son externas 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 cerrar sesión con sus cuentas federadas en las RP.

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

Interacción del usuario con FedCM

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

Accede a una parte de confianza

Los usuarios pueden elegir una cuenta de un conjunto de IdP compatibles con la RP. Si el usuario accedió con varios IdP, se le solicitará que acceda a la 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 accedió el usuario en la RP según el IdP. La información sobre a qué cuentas se accedió se extrae del approved_clients extremo de la cuenta valor de la propiedad.
  • Por último, se muestran las cuentas que no se usaron en la RP antes.

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

Modos de 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 de confianza (RP), aparecerá un diálogo de acceso de FedCM cuando se llame a navigator.credentials.get() si se cumplen las siguientes condiciones:

En el modo pasivo, el usuario se autentica de forma secuencial con diferentes IdP: accede y cierra sesión con 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 una RP con FedCM en modo activo.

Para completar el acceso, el usuario puede presionar Continuar como usuario. Si tiene éxito, el navegador almacena el hecho de que el usuario creó una cuenta federada en la RP con el IdP.

Si el usuario no tiene una cuenta en la RP con el IdP, aparecerá un diálogo de registro con texto de divulgación adicional, como las Condiciones del Servicio y la Política de Privacidad de la 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, y, por lo tanto, es una actividad sujeta a las leyes de privacidad electrónica en el Espacio Económico Europeo (EEE) y el Reino Unido que, por lo 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 hacer la transición al modelo NextGen FedCM orientado a la delegación que mitiga el problema de seguimiento del IdP. Con NextGen, los usuarios pueden acceder a las RP sin que el IdP los siga.
  • El objetivo de FedCM es presentar a los usuarios una selección más amplia de IdP, según la elección de la RP. Para lograrlo, estamos trabajando en las APIs de Multi-IdP y de registro de IdP.
  • Estamos trabajando activamente para integrar FedCM con otros métodos de autenticación, como las llaves de acceso, con medios adicionales, como el autocompletado, para presentar una experiencia de autenticación unificada.

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