Una API web para la federación de identidades que preserva la privacidad.
¿Qué es FedCM?
FedCM (Administración de credenciales federadas) es un enfoque que preserva la privacidad de los servicios de identidad federada (como "Acceder con...") en el que los usuarios pueden acceder a sitios sin compartir su información personal con el servicio de identidad o el sitio.
Estado de implementación
- Estado de la plataforma Chrome
- FedCM se envió en Chrome 108.
- La propuesta de FedCM está disponible para el debate público.
- FedCM todavía no es compatible con otros navegadores.
- Mozilla está implementando un prototipo para Firefox y Apple expresó su apoyo general y su interés en trabajar en conjunto en la propuesta de FedCM.
En el futuro, planeamos presentar varias funciones nuevas basadas en los comentarios que recibimos de los proveedores de identidad (IdP), de los usuarios de confianza (RP) y de los proveedores de navegadores. Si bien esperamos que los proveedores de identidad adopten FedCM, ten en cuenta que FedCM sigue siendo una API en desarrollo activo y que se esperan cambios incompatibles con versiones anteriores hasta el 4o trim. de 2023.
Para minimizar los desafíos de implementar cambios incompatibles con versiones anteriores, actualmente tenemos dos recomendaciones para los proveedores de identidad:
- Suscríbete a nuestro boletín informativo, en el que te enviaremos actualizaciones a medida que evolucione la API.
- Recomendamos a los IdP que distribuyan la API de FedCM a través de los SDK de JavaScript mientras la API está en desarrollo y que desaconsejemos que los RP de los SDKs de autoaloje. Esto garantizará que los IdP puedan realizar cambios a medida que evolucione la API, sin tener que solicitar a todos los usuarios de confianza que vuelvan a realizar la implementación.
¿Por qué necesitamos FedCM?
Durante la última década, la federación de identidades ha desempeñado un papel fundamental a la hora de aumentar el nivel de la autenticación en la Web en términos de confiabilidad, facilidad de uso (por ejemplo, acceso único sin contraseña) y seguridad (por ejemplo, mayor resistencia a los ataques de phishing y de uso excesivo de credenciales) en comparación con los nombres de usuario y las contraseñas por sitio.
Con la federación de identidades, un RP (grupo de confianza) depende de un IdP (proveedor de identidad) para proporcionar una cuenta al usuario sin requerir un nombre de usuario ni una contraseña nuevos.
Lamentablemente, se están utilizando de forma activa los mecanismos en los que se basa la federación de identidades (iframes, redireccionamientos y cookies) para hacer un seguimiento de los usuarios en la Web. Como el usuario-agente no puede diferenciar entre la federación de identidades y el seguimiento, las mitigaciones para los distintos tipos de abuso dificultan la implementación de la federación de identidades.
La API de Federated Credential Management (FedCM) proporciona una abstracción específica de casos de uso para los flujos de identidad federada en la Web, ya que expone un diálogo mediado por el navegador que permite a los usuarios elegir cuentas de los IdP para acceder a sitios web.
FedCM es un recorrido de varios pasos para mejorar la identidad en la Web, y en su primer paso nos enfocamos en reducir el impacto de la eliminación gradual de cookies de terceros en la identidad federada (consulta la sección Hoja de ruta para ver algunos pasos más).
¿Qué esperamos que se vea afectado?
Gracias al esfuerzo de la comunidad y nuestra investigación, descubrimos que hay algunas integraciones relacionadas con la federación de identidades que se ven afectadas por la eliminación gradual de las cookies de terceros:
- Salir del canal frontal de OpenID Connect
- Administración de sesiones de OpenID Connect
- Renovación de token en segundo plano basado en Iframe
- Widgets de acceso basados en iframe
El primer objetivo de FedCM es reducir el impacto de la eliminación gradual de cookies de terceros en la federación de identidades, y, arriba, hay una lista de las áreas que esperamos que se vean afectadas. Si hay casos de uso adicionales que no mencionamos, te recomendamos que participes y compartas tus comentarios.
¿Quién debe usar FedCM?
Esperamos que FedCM te resulte útil solo si se aplican todas estas condiciones:
- Eres un proveedor de identidad (IdP).
- Te afectará la eliminación gradual de las cookies de terceros.
- Tus RP son sitios de terceros. Si tus RP son sitios relacionados de forma significativa, te recomendamos que utilices los conjuntos de sitios web relacionados para obtener mejores resultados.
Eres un IdP
FedCM requiere la asistencia de un proveedor de identidad. Un usuario de confianza no puede usar FedCM de forma independiente. Si eres un RP, puedes pedirle a tu IdP que proporcione instrucciones.
Te afecta la eliminación gradual de las cookies de terceros
Solo debes usar FedCM si tu integración actual se ve afectada por la eliminación gradual de las cookies de terceros.
Si no estás seguro de si tu federación de identidades seguirá funcionando después de la eliminación gradual de las cookies de terceros de Chrome, puedes probar el efecto en un sitio web bloqueando las cookies de terceros en Chrome.
Si no hay un impacto detectable en la federación de identidades sin cookies de terceros, puedes seguir usando tu integración actual sin FedCM.
Si no estás seguro de qué debes verificar, obtén más información sobre las características conocidas que se espera que afecte la eliminación gradual.
Tus RP son de terceros
Si eres un proveedor de identidad cuyos RP tienen una relación propia con el IdP, esperamos que los Conjuntos de sitios web relacionados sean una mejor opción. Los Conjuntos de sitios web relacionados (RWS) permiten que una organización declare relaciones entre sitios, de modo que los navegadores permitan un acceso limitado a las cookies de terceros para fines específicos. Esto permite que las cookies de terceros funcionen en conjuntos de sitios relacionados de forma significativa, incluso después de la eliminación gradual de las cookies de terceros.
¿Cómo interactuarán los usuarios con FedCM?
Actualmente, el enfoque principal de FedCM es mitigar el impacto de la eliminación gradual de las cookies de terceros. Los usuarios pueden habilitar o inhabilitar FedCM en la configuración del usuario de Chrome.
FedCM está diseñado para ser independiente del protocolo y ofrece las siguientes funciones relacionadas con la autenticación.
Consulta nuestra demostración para ver cómo funciona.
Cómo acceder a un usuario de confianza
Cuando el usuario llega al sitio web del usuario de confianza (RP), aparecerá un diálogo de acceso de FedCM si el usuario accedió al IdP.
Si el usuario no tiene una cuenta en el RP con el IdP, aparecerá un diálogo de registro con texto de divulgación adicional, como las Condiciones del Servicio del RP y una política de privacidad, si se proporcionan.
Para completar el acceso, el usuario debe presionar Continuar como.... Si se ejecuta de forma correcta, el navegador almacena el hecho de que el usuario creó una cuenta federada en el RP con el IdP.
Se espera que los RP funcionen en navegadores que no son compatibles con FedCM. Los usuarios deben poder usar un proceso de acceso existente que no sea de FedCM. Obtén más información sobre cómo funciona el acceso en FedCM.
Parámetro de configuración para habilitar o inhabilitar FedCM
Los usuarios pueden habilitar o inhabilitar FedCM en la configuración de Chrome para Android. Ve a Configuración > Configuración del sitio > Acceso de terceros y, luego, cambia el botón de activación.
![Activa el acceso de terceros para habilitar FedCM en la configuración de Chrome en dispositivos móviles](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-acb36abf28b59.jpg?authuser=5&hl=es)
Para hacer lo mismo en Chrome en computadoras de escritorio, pueden ir a chrome://settings/content/federatedIdentityApi
.
![Activa el acceso de terceros para habilitar FedCM en la configuración de Chrome desde una computadora de escritorio](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-ebbf4834f6f21.png?authuser=5&hl=es)
Hoja de ruta
Estamos trabajando para implementar varios cambios en la FedCM.
Ya se aplicaron varias actualizaciones en función de los comentarios. Además, se espera que continúe evolucionando hasta el 4o trimestre de 2023 para estabilizarse, como mínimo. Consulta Actualizaciones para obtener más detalles.
- Registro de cambios: Actualizaciones de la API de Federated Credential Management.
Sabemos que aún debes realizar algunas acciones, incluidos los problemas que escucharon de los IdP, los RP y los proveedores de navegadores. Creemos que sabemos cómo resolver estos problemas:
- Compatibilidad con iframe de origen cruzado: Los IdP pueden llamar a FedCM desde un iframe de origen cruzado (actualización).
- Botón personalizado: Los IdP pueden mostrar la identidad de un usuario recurrente en el botón de acceso desde un iframe de origen cruzado que pertenece a un IdP (actualización).
- Extremo de métricas: Proporciona métricas de rendimiento a los IdP.
Además, hay problemas sin resolver que exploramos de forma activa, incluidas las propuestas específicas que estamos evaluando o creando prototipos:
- CORS: Estamos debatiendo con Apple y Mozilla para asegurarnos de mejorar la especificación de las recuperaciones de FedCM.
- API de multiusuarios: Estamos explorando formas de admitir varios IdP para que coexistan de manera cooperativa en el selector de cuentas de FedCM.
- API de estado de acceso de IdP: Mozilla identificó un problema de ataque de tiempo y estamos explorando formas de que un IdP notifique de forma proactiva al navegador el estado de acceso del usuario para mitigar el problema. (actualizar)
- Accede a la API de IdP: Para admitir diversas situaciones, cuando un usuario no accede al IdP, el navegador proporciona una IU para que acceda sin salir del RP.
Por último, hay cosas que creemos que aún debemos hacer, según los comentarios de Mozilla, Apple y los revisores de TAG. Estamos trabajando para evaluar las mejores soluciones para estas preguntas abiertas:
- Mejorar la comprensión del usuario y la intención de búsqueda de coincidencias: Como notó Mozilla, nos gustaría seguir explorando diferentes fórmulas y áreas de superficie de UX, además de criterios de activación.
- Atributos de identidad y divulgación selectiva: como señalaron nuestros revisores de TAG, nos gustaría proporcionar un mecanismo para compartir de manera selectiva más o menos atributos de identidad (como correos electrónicos, corchetes de edad, números de teléfono, etcétera).
- Aumento de las propiedades de privacidad: Como sugirió Mozilla aquí, nos gustaría seguir explorando mecanismos para ofrecer mejores garantías de privacidad, como la ceguera del IdP y los identificadores dirigidos.
- Relación con WebAuthn: Como lo sugiere Apple, nos entusiasma ver el progreso de las llaves de acceso y trabajar para proporcionar una experiencia coherente y cohesiva entre FedCM, las contraseñas, WebAuthn y WebOTP.
- Estado de acceso: Como sugirió Apple con la API de estado de acceso de Privacy CG, compartimos la intuición de que el estado de acceso del usuario es información útil que puede ayudar a los navegadores a tomar decisiones fundamentadas, y nos entusiasma ver qué oportunidades surgen a partir de eso. (actualizar)
- Empresas y educación: Como se indica en los CG del FedID, todavía existen muchos casos de uso que no están bien presentados por FedCM en los que nos gustaría trabajar, como el cierre de sesión en el canal frontal (la capacidad de que un IdP envíe una señal a los RP para salir) y la compatibilidad con SAML.
- Relación con las Licencias de Conducir Digital, los VC, etc.: Sigue trabajando para comprender cómo encajan en el FedCM, por ejemplo, con la API de Mobile Document Request.
Usa la API de FedCM
Necesitas un contexto seguro (HTTPS o localhost) tanto en el IdP como en el RP en Chrome para usar FedCM.
Para realizar la integración con FedCM, debes crear un archivo conocido, un archivo de configuración y extremos para la lista de cuentas, la emisión de aserciones y, opcionalmente, los metadatos del cliente. Desde allí, FedCM expone las APIs de JavaScript que los RP pueden usar para acceder con el IdP.
Para obtener información sobre cómo usar la API de FedCM, consulta la guía para desarrolladores de FedCM.
Interactúa y comparte comentarios
- GitHub: Lee la explicación, consulta los problemas y sigue la conversación.
- Asistencia para desarrolladores: Haz preguntas y únete a debates en el repositorio de asistencia para desarrolladores de Privacy Sandbox.
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 acceso a información que ya está almacenada y, por lo tanto, es una actividad sujeta a las leyes de privacidad electrónica del Espacio Económico Europeo (EEE) y el Reino Unido que, por lo general, requieren el consentimiento del usuario. Es tu responsabilidad determinar si tu uso de FedCM es estrictamente necesario para proporcionar un servicio en línea que el usuario solicitó explícitamente y, por lo tanto, está exento del requisito de consentimiento. Para obtener más información, te recomendamos que leas nuestras Preguntas frecuentes sobre el cumplimiento relacionado con la privacidad de Privacy Sandbox.