API Web pour la fédération d'identité protégeant la confidentialité.
Qu'est-ce que FedCM ?
FedCM (Federated Credential Management) est une approche protégeant la confidentialité des services d'identité fédérée (par exemple, "Se connecter avec...") qui permet aux utilisateurs de se connecter à des sites sans partager leurs informations personnelles avec le service d'identité ou le site.
État de l'implémentation
- État de la plate-forme Chrome
- FedCM est disponible dans Chrome 108.
- La proposition FedCM est ouverte à une discussion publique.
- FedCM n'est pas encore compatible avec d'autres navigateurs.
- Mozilla implémente un prototype pour Firefox. Apple a exprimé son intérêt général pour une collaboration sur la proposition FedCM.
À l'avenir, nous prévoyons d'introduire un certain nombre de nouvelles fonctionnalités en fonction des commentaires que nous avons reçus des fournisseurs d'identité (IdP), des tiers de confiance (RP) et des fournisseurs de navigateurs. Nous espérons que les fournisseurs d'identité adopteront FedCM. Toutefois, veuillez noter que FedCM est encore une API en cours de développement et que des modifications susceptibles d'affecter la rétrocompatibilité sont prévues jusqu'au 4e trimestre 2023.
Pour réduire les difficultés liées au déploiement de modifications avec incompatibilité ascendante, nous recommandons actuellement deux recommandations pour les fournisseurs d'identité:
- Abonnez-vous à notre newsletter pour recevoir des informations à mesure que l'API évolue.
- Nous encourageons les fournisseurs d'identité à distribuer l'API FedCM via des SDK JavaScript pendant que l'API arrive à maturité, et à dissuader les RP d'utiliser les SDK d'auto-hébergement. Cela permettra aux fournisseurs d'identité d'apporter des modifications à mesure que l'API évolue, sans avoir à demander à tous leurs tiers de confiance de procéder au redéploiement.
Pourquoi avons-nous besoin de FedCM ?
Au cours de la dernière décennie, la fédération d'identité a joué un rôle central dans le renforcement de l'authentification sur le Web, en termes de fiabilité, de facilité d'utilisation (par exemple, authentification unique sans mot de passe) et de sécurité (par exemple, une meilleure résistance aux attaques par hameçonnage et credential stuffing) par rapport aux noms d'utilisateur et aux mots de passe par site.
Avec la fédération d'identité, un RP (partie de confiance) s'appuie sur un IdP (fournisseur d'identité) pour fournir un compte à l'utilisateur sans exiger de nouveaux nom d'utilisateur et mot de passe.
Malheureusement, les mécanismes sur lesquels s'appuie la fédération d'identité (iFrame, redirections et cookies) sont activement détournés pour suivre les utilisateurs sur le Web. Comme le user-agent ne peut pas faire la différence entre la fédération d'identité et le suivi, les mesures d'atténuation des différents types d'abus rendent le déploiement de la fédération d'identité plus difficile.
L'API Federated Credential Management (FedCM) fournit une abstraction spécifique à un cas d'utilisation pour les flux d'identité fédérée sur le Web, en affichant une boîte de dialogue choisie par le navigateur. Elle permet aux utilisateurs de choisir des comptes d'IdP pour se connecter à des sites Web.
FedCM est un parcours en plusieurs étapes visant à améliorer l'identité sur le Web. La première étape consiste à réduire l'impact de l'abandon des cookies tiers sur l'identité fédérée (consultez la section Feuille de route pour aller plus loin).
Selon nos prévisions, quels seront les changements ?
Grâce aux efforts de la communauté et à nos recherches, nous avons découvert que quelques intégrations liées à la fédération d'identité sont affectées par l'abandon des cookies tiers:
- Déconnexion d'OpenID Connect Front-Channel
- Gestion des sessions OpenID Connect
- Renouvellement de jeton d'arrière-plan basé sur iFrame
- Widgets de connexion basés sur iFrame
Le premier objectif de FedCM est de réduire l'impact de l'abandon des cookies tiers sur la fédération d'identité. Vous trouverez ci-dessus la liste des domaines qui devraient être affectés. S'il existe d'autres cas d'utilisation que nous n'avons pas listés, nous vous invitons à répondre aux commentaires et à nous faire part de vos commentaires.
Qui doit utiliser FedCM ?
FedCM ne devrait vous être utile que si toutes les conditions suivantes sont réunies:
- Vous êtes un fournisseur d'identité (IdP).
- Vous êtes concerné par l'abandon des cookies tiers.
- Vos tiers assujettis à des restrictions sont des sites tiers. Si vos tiers assujettis à des restrictions sont des sites étroitement liés, les ensembles de sites Web associés vous seront peut-être plus utiles.
Vous êtes un IdP
FedCM nécessite l'assistance d'un fournisseur d'identité. Un tiers de confiance ne peut pas utiliser FedCM de manière indépendante. Si vous êtes un tiers assujetti à des restrictions, vous pouvez lui demander de vous fournir des instructions.
Vous êtes concerné par l'abandon des cookies tiers
Vous ne devez utiliser FedCM que si votre intégration actuelle est affectée par l'abandon des cookies tiers.
Si vous n'êtes pas certain que votre fédération d'identité continuera de fonctionner après l'abandon des cookies tiers de Chrome, vous pouvez tester l'effet sur un site Web en bloquant les cookies tiers dans Chrome.
Si l'impact n'est pas visible sur la fédération d'identité sans cookies tiers, vous pouvez continuer à utiliser votre intégration actuelle sans FedCM.
Si vous ne savez pas quoi vérifier, renseignez-vous sur les fonctionnalités connues sur lesquelles l'abandon devrait affecter.
Vos tiers assujettis à des restrictions sont des tiers
Si vous êtes un fournisseur d'identité dont les tiers assujettis à des restrictions ont une relation propriétaire avec l'IdP, nous pensons que l'option Ensembles de sites Web associés est peut-être une meilleure option. La fonctionnalité Ensembles de sites Web associés permet à une organisation de déclarer des relations entre les sites, de sorte que les navigateurs autorisent un accès limité aux cookies tiers à des fins spécifiques. Cela permet aux cookies tiers de fonctionner parmi des ensembles de sites associés de manière significative, même après l'abandon des cookies tiers.
Comment les utilisateurs interagiront-ils avec FedCM ?
Actuellement, l'objectif principal de FedCM est de limiter l'impact de l'abandon progressif des cookies tiers. Les utilisateurs peuvent activer ou désactiver FedCM dans les paramètres utilisateur de Chrome.
FedCM est conçu pour être indépendant du protocole et offre les fonctionnalités d'authentification suivantes.
Regardez notre démonstration pour voir comment cela fonctionne.
Se connecter à un tiers de confiance
Lorsque l'utilisateur accède au site Web d'un tiers de confiance, une boîte de dialogue de connexion FedCM s'affiche s'il est connecté au fournisseur d'identité.
Si l'utilisateur ne possède pas de compte sur le tiers assujetti à des restrictions auprès du fournisseur d'identité, une boîte de dialogue d'inscription s'affiche avec un texte d'information supplémentaire, tel que les conditions d'utilisation du tiers assujetti à des restrictions et, le cas échéant, des règles de confidentialité.
L'utilisateur peut se connecter en appuyant sur Continuer en tant que. Si l'opération réussit, le navigateur enregistre le fait que l'utilisateur a créé un compte fédéré sur la RP avec le fournisseur d'identité.
Les tiers assujettis à des restrictions devraient fonctionner dans les navigateurs non compatibles avec FedCM. Les utilisateurs doivent pouvoir utiliser un processus de connexion existant non-FedCM. En savoir plus sur le fonctionnement de la connexion dans FedCM
Paramètre permettant d'activer ou de désactiver FedCM
Les utilisateurs peuvent activer ou désactiver FedCM dans les paramètres de Chrome sur Android. Accédez à Paramètres > Paramètres des sites > Connexion tierce, puis cliquez sur le bouton d'activation.
![Activez FedCM dans les paramètres Chrome sur mobile en activant/désactivant la connexion tierce](https://developers.google.cn/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-acb36abf28b59.jpg?authuser=8&hl=fr)
Il peut faire de même pour Chrome sur ordinateur en accédant à chrome://settings/content/federatedIdentityApi
.
![Activez FedCM dans les paramètres de Chrome sur ordinateur en activant la connexion tierce](https://developers.google.cn/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-ebbf4834f6f21.png?authuser=8&hl=fr)
Feuille de route
Nous travaillons actuellement à la mise en place d'un certain nombre de modifications concernant le FedCM.
Plusieurs mises à jour ont déjà été appliquées suite à vos commentaires. Elles devraient également continuer à évoluer jusqu'au 4e trimestre 2023 au moins pour se stabiliser. Pour en savoir plus, consultez la section "Mises à jour".
- Journal des modifications: mises à jour de l'API Federated Credential Management.
Nous savons que certaines choses doivent encore être faites, y compris les problèmes que nous avons entendus par les fournisseurs d'identité, les tiers assujettis à des restrictions et les fournisseurs de navigateurs. Nous pensons savoir comment résoudre ces problèmes:
- Compatibilité avec les iFrame multi-origines: les fournisseurs d'identité peuvent appeler FedCM à partir d'un iFrame multi-origine (mise à jour).
- Bouton personnalisé: les fournisseurs d'identité peuvent afficher l'identité d'un utilisateur connu sur le bouton de connexion depuis un iFrame multi-origine appartenant à un fournisseur d'identité (update).
- Metrics endpoint (Point de terminaison des métriques) : fournit des métriques de performances aux fournisseurs d'identité.
De plus, nous étudions activement certains problèmes non résolus, y compris des propositions spécifiques que nous évaluons ou prototypons:
- CORS: nous discutons avec Apple et Mozilla pour améliorer la spécification des récupérations FedCM.
- API Multiple-IdP: nous étudions des moyens d'autoriser plusieurs IdP à coexister de manière coopérative dans le sélecteur de compte FedCM.
- API IdP Sign-in Status: Mozilla a identifié un problème d'attaque dans le temps, et nous étudions des moyens pour un fournisseur d'identité d'informer de manière proactive le navigateur de l'état de connexion de l'utilisateur afin d'atténuer le problème. (mettre à jour)
- Connexion à l'API IdP: pour prendre en charge différents scénarios, lorsqu'un utilisateur n'est pas connecté au fournisseur d'identité, le navigateur lui fournit une UI lui permettant de se connecter sans quitter le RP.
Enfin, nous pensons qu'il reste des choses à faire, d'après les commentaires de Mozilla, d'Apple et des examinateurs de balises. Nous nous efforçons d'évaluer les meilleures solutions aux questions ouvertes suivantes:
- Améliorer la compréhension des utilisateurs et la mise en correspondance de l'intent: comme Mozilla l'a indiqué, nous aimerions continuer à explorer différentes formulations et zones de surface de l'expérience utilisateur, ainsi que les critères de déclenchement.
- Attributs d'identité et divulgation sélective: comme l'ont mentionné les examinateurs de notre TAG, nous souhaitons fournir un mécanisme permettant de partager de manière sélective plus ou moins d'attributs d'identité (tels que des adresses e-mail, des tranches d'âge, des numéros de téléphone, etc.).
- Améliorer les propriétés de confidentialité: comme Mozilla l'a suggéré ici, nous aimerions continuer à explorer des mécanismes permettant d'offrir de meilleures garanties de confidentialité, telles que l'aveuglement de l'IdP, les identifiants orientés.
- Relation avec WebAuthn: comme suggéré par Apple, nous sommes ravis de constater les progrès réalisés au niveau des clés d'accès, et de travailler à fournir une expérience cohérente entre FedCM, les mots de passe, WebAuthn et WebOTP.
- État de la connexion: comme Apple l'a suggéré dans l'API Login Status de l'API Privacy CG, nous partons du principe que l'état de connexion de l'utilisateur est une information utile qui peut aider les navigateurs à prendre des décisions éclairées. Nous sommes impatients de voir les opportunités qui en découlent. (mettre à jour)
- Entreprises et éducation: comme indiqué dans le CG FedID, il existe encore de nombreux cas d'utilisation qui ne sont pas bien adaptés à FedCM et sur lesquels nous aimerions travailler, tels que la déconnexion de canal frontal (la possibilité pour un fournisseur d'identité d'envoyer un signal aux tiers assujettis à des restrictions de se déconnecter) et la compatibilité avec SAML.
- Relation avec les mDL/VC/etc.: poursuivez vos efforts pour comprendre en quoi ils sont adaptés à FedCM, par exemple avec l'API Mobile Document Request.
Utiliser l'API FedCM
Pour utiliser FedCM, vous avez besoin d'un contexte sécurisé (HTTPS ou localhost) à la fois au niveau de l'IdP et du RP dans Chrome.
Pour procéder à l'intégration à FedCM, vous devez créer un fichier connu, un fichier de configuration et des points de terminaison pour la liste des comptes, l'émission des assertions et éventuellement des métadonnées client. À partir de là, FedCM expose des API JavaScript que les RP peuvent utiliser pour se connecter avec le fournisseur d'identité.
Pour savoir comment utiliser l'API FedCM, consultez le guide du développeur FedCM.
Interagir et donner votre avis
- GitHub: consultez l'explication, signalez des problèmes et suivez la discussion.
- Assistance aux développeurs: posez des questions et participez à des discussions dans le dépôt d'assistance pour les développeurs Privacy Sandbox.
Respect des lois sur la vie privée et les communications électroniques
L'utilisation de FedCM, en tant que fournisseur d'identité ou en tant que tiers assujetti à des restrictions, implique le stockage d'informations sur l'équipement terminal d'un utilisateur ou l'accès aux informations déjà stockées. Elle est donc soumise au droit de la vie privée et des communications électroniques en vigueur dans l'Espace économique européen (EEE) et au Royaume-Uni, qui requièrent généralement le consentement de l'utilisateur. Il vous incombe de déterminer si votre utilisation de FedCM est strictement nécessaire pour fournir un service en ligne explicitement demandé par l'utilisateur, et donc exempté de l'obligation de consentement. Pour en savoir plus, nous vous invitons à consulter les questions fréquentes sur la conformité des règles de confidentialité de la Privacy Sandbox.