FedCM: API de fédération des identités protégeant la confidentialité

Cette page explique les avantages de FedCM, qui devrait envisager d'implémenter FedCM et comment les utilisateurs interagissent avec FedCM.

La gestion fédérée des identifiants (FedCM) est une approche axée sur la confidentialité et conviviale pour les services d'identité fédérée (tels que Se connecter avec un fournisseur d'identité) qui ne repose pas sur les cookies tiers ni les redirections de navigation.

Avec FedCM, l'utilisateur dispose d'une nouvelle façon de s'authentifier auprès d'un fournisseur d'identité tiers sur un site Web.

Qu'est-ce que la fédération d'identité ?

La fédération d'identité délègue l'authentification ou l'autorisation d'une personne (utilisateur ou entité) à un fournisseur d'identité (IdP) externe de confiance. L'IdP permet ensuite à l'utilisateur de se connecter à un site Web de partie de confiance (RP). Avec la fédération d'identité, un RP s'appuie sur un IdP pour fournir un compte à l'utilisateur sans exiger de nouveau nom d'utilisateur ni mot de passe.

Avec les solutions d'identité fédérée, l'utilisateur n'a pas besoin de créer un autre ensemble d'identifiants pour chaque RP. Cela améliore l'expérience utilisateur, réduit les risques d'hameçonnage et aide le RP à obtenir des informations utilisateur validées auprès de fournisseurs d'identité fiables.

Solutions conventionnelles et cookies tiers

Les mécanismes de fédération d'identité classiques s'appuient sur des iframes, des redirections ou des cookies tiers, ce qui pose des problèmes de confidentialité. Ces solutions peuvent être exploitées pour suivre les utilisateurs sur le Web, et les navigateurs ne sont pas en mesure de faire la distinction entre les services d'identité légitimes et la surveillance indésirable.

Compte tenu des préoccupations concernant la confidentialité, les principaux navigateurs restreignent les cookies tiers. Cela peut affecter certaines fonctionnalités. Grâce aux efforts de la communauté et à nos recherches, nous avons découvert que certaines intégrations liées à la fédération des identités sont affectées par les restrictions concernant les cookies tiers.

Fédération d'identité avec FedCM

FedCM est indépendant du protocole : il peut être implémenté en tant que solution autonome ou en tant que couche supplémentaire dont différents protocoles peuvent tirer parti. Par exemple, un serveur OAuth fonctionnel peut bénéficier de l'expérience de connexion en un clic et de l'interface utilisateur intuitive de FedCM en implémentant des points de terminaison FedCM, puis en échangeant le code d'autorisation renvoyé dans la réponse de FedCM contre un jeton d'accès OAuth.

Pourquoi avons-nous besoin de FedCM ?

Par rapport aux solutions classiques, elle offre de nombreux avantages pour l'écosystème Web. Elle a été conçue en tenant compte des utilisateurs, des développeurs de RP et des fournisseurs d'identité.

Prise en charge des solutions d'identité sans cookies tiers

FedCM peut aider à réduire la dépendance vis-à-vis des cookies tiers, qui sont souvent utilisés pour suivre les utilisateurs sur le Web. L'API offre une expérience de connexion personnalisée, même lorsque les cookies tiers ne sont pas disponibles (par exemple, en mode navigation privée).

FedCM est également intégré à d'autres API Privacy Sandbox. Par exemple, l'API Storage Access utilise l'authentification FedCM comme signal de confiance. Cette intégration est utile pour les sites Web qui s'appuient à la fois sur FedCM pour l'authentification et sur l'API Storage Access pour permettre aux iFrames d'origine croisée d'accéder au stockage nécessaire.

Amélioration de l'expérience utilisateur

FedCM introduit une boîte de dialogue d'interface utilisateur gérée par le navigateur pour un processus de connexion simplifié en un clic. L'API résout également le problème des pages de connexion encombrées, parfois appelé problème NASCAR.

Exemple du problème NASCAR : un site Web dont l'UI est encombrée par une sélection de sept options de connexion différentes.
Exemple du problème NASCAR : un site Web dont l'UI est encombrée en raison d'une sélection IdP trop large.

Au lieu d'un nombre impressionnant de boutons de connexion aux réseaux sociaux, FedCM fournit une interface conviviale plus simple.

Sécurité

L'approche d'identité fédérée permet aux utilisateurs d'utiliser des comptes fiables gérés par des IdP. Avec cette approche, les utilisateurs n'ont pas besoin d'ajouter des identifiants à chaque site. Cela réduit la surface d'attaque pour les tentatives d'hameçonnage. De plus, au lieu de mettre en œuvre leurs propres mesures de sécurité robustes, les RP peuvent s'appuyer sur l'expertise des IdP spécialisés dans la gestion sécurisée des identités.

FedCM vise à rendre le flux d'identité fédérée encore plus pratique pour les utilisateurs, en les encourageant à le préférer aux flux d'identité moins sécurisés.

Expérience personnalisée pour un plus grand nombre d'utilisateurs

FedCM réduit les frictions liées à l'expérience utilisateur lors du processus d'inscription à un compte. Les études de cas du service d'identité Google montrent que les utilisateurs préfèrent créer des comptes avec le flux One Tap de FedCM plutôt qu'avec les options de connexion en plusieurs étapes.

Avec FedCM, davantage de fournisseurs d'identité peuvent proposer à leurs utilisateurs une expérience de connexion en un clic. Comme de plus en plus de fournisseurs d'identité proposent un flux d'identité en un clic, les utilisateurs peuvent choisir parmi une plus large sélection de fournisseurs d'identité sur les RP. FedCM fournit un mécanisme de sélection d'IdP amélioré en présentant aux utilisateurs les comptes les plus pertinents.

En augmentant le taux d'inscription, les RP peuvent proposer une expérience personnalisée à un plus grand nombre d'utilisateurs.

Compatibilité avec différents fournisseurs d'identité

L'interface utilisateur simplifiée de FedCM vise à présenter aux utilisateurs une liste personnalisée des IdP pertinents. Avec le mécanisme de sélection d'IdP de FedCM, le choix d'IdP des RP n'est plus limité par la taille de la base d'utilisateurs de l'IdP. Par exemple, une partie des utilisateurs peut n'avoir de compte qu'avec small-idp.example et non avec bigger-idp.example.

Grâce à la fonctionnalité Multi-IdP, rp.example peut être compatible avec small-idp.example et bigger-idp.example sans encombrer l'UI. Cela profite à toutes les parties :

  • Les utilisateurs peuvent choisir l'IdP de leur choix, quelle que soit sa taille.
  • Les RP touchent plus d'utilisateurs grâce à la prise en charge de différents FIdP
  • Les IdP avec une base d'utilisateurs plus petite sont disponibles sur davantage de fournisseurs de services.

À qui s'adresse FedCM ?

Nous pensons que FedCM ne vous sera utile que si les conditions suivantes sont remplies :

  • Vous êtes un fournisseur d'identité (IdP) avec des RP tierces.
  • Vous disposez de votre propre solution d'identité et de plusieurs domaines qui en dépendent.
  • Vous souhaitez prendre en charge les flux d'identité fédérée, même pour les utilisateurs qui choisissent de naviguer sans cookies tiers.

Vous êtes un IdP

FedCM nécessite la prise en charge d'un fournisseur d'identité. Une partie de confiance ne peut pas utiliser FedCM de manière indépendante. Si vous êtes un RP, vous pouvez demander à votre IdP de vous fournir des instructions.

Plusieurs RP

Si vos RP sont des tiers ou si vous avez plus de quatre RP utilisant votre solution d'identité, FedCM est l'API recommandée pour l'identité fédérée.

Vous souhaitez prendre en charge le flux de fédération d'identité sans cookie.

FedCM est compatible avec les flux d'identité fédérée essentiels, même pour les utilisateurs qui naviguent sans cookies tiers. Avec FedCM, les utilisateurs peuvent toujours s'inscrire, se connecter et se déconnecter avec leurs comptes fédérés sur les RP.

De plus, FedCM sert de signal de confiance pour l'API Storage Access, ce qui élimine les frictions pour les demandes d'accès au stockage initiées par l'IdP.

Interaction de l'utilisateur avec FedCM

FedCM est conçu pour être indépendant du protocole d'authentification et offre à l'utilisateur un nouveau flux pour s'authentifier auprès d'un RP avec un IdP tiers. Essayez FedCM avec notre démonstration.

Se connecter à un tiers de confiance

Les utilisateurs peuvent choisir un compte parmi un ensemble de fournisseurs d'identité compatibles avec le RP. Si l'utilisateur est connecté avec plusieurs IdP, il sera invité à se connecter au RP à l'aide de l'un d'eux.

Les comptes de l'utilisateur sont affichés dans l'ordre suivant :

  • Les comptes auxquels l'utilisateur a accédé sur son appareil sont affichés en premier, les comptes les plus récents étant affichés en premier.
  • Les comptes auxquels l'utilisateur a accédé sur le RP selon l'IdP sont affichés ensuite. Les informations sur les comptes auxquels l'utilisateur a accédé sont extraites de la valeur de la propriété point de terminaison du compte approved_clients.
  • Les comptes qui n'ont jamais été utilisés sur le RP sont affichés en dernier.

S'il existe plusieurs comptes dans l'un de ces niveaux de priorité, ils sont classés en fonction de l'ordre des IdP fournis par le RP dans l'appel get().

Modes de l'UI FedCM

FedCM propose deux modes d'UI : passif et actif.

Mode passif : Le mode passif ne nécessite pas d'interaction de l'utilisateur pour que l'invite FedCM s'affiche. Lorsque l'utilisateur arrive sur le site Web de la partie de confiance (RP), une boîte de dialogue de connexion FedCM s'affiche lorsque navigator.credentials.get() est appelé si les conditions suivantes sont remplies :

L'utilisateur s'authentifie séquentiellement auprès de différents fournisseurs d'identité en mode passif : il se connecte et se déconnecte auprès de l'un, puis s'authentifie auprès du suivant.

Mode actif : En mode actif, une activation utilisateur transitoire (par exemple, un clic sur le bouton Se connecter avec…) est requise pour déclencher une invite FedCM.

Un utilisateur se connecte à un RP à l'aide de FedCM en mode actif.

L'utilisateur peut terminer la connexion en appuyant sur Continuer en tant qu'utilisateur. Si l'opération réussit, le navigateur stocke le fait que l'utilisateur a créé un compte fédéré sur le RP avec l'IdP.

Si l'utilisateur ne possède pas de compte sur la partie de confiance avec le 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 et les règles de confidentialité de la partie de confiance.

Conformité avec les lois sur la confidentialité électronique

L'utilisation de FedCM, en tant qu'IdP ou RP, implique le stockage d'informations sur l'équipement terminal d'un utilisateur ou l'accès à des informations déjà stockées dans celui-ci. Il s'agit donc d'une activité soumise aux lois sur la confidentialité et les communications électroniques dans l'Espace économique européen (EEE) et au Royaume-Uni, qui nécessitent 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, par conséquent, exemptée de l'obligation de consentement.

Vision

Nous développons activement de nouvelles fonctionnalités pour remédier aux limites actuelles et offrir une meilleure expérience utilisateur.

  • Nous explorons des formulations d'UX plus discrètes pour garantir un processus d'authentification fluide, intuitif et moins intrusif pour les utilisateurs.
  • Nous nous engageons à améliorer la confidentialité des utilisateurs. Nous prévoyons de passer au modèle NextGen FedCM axé sur la délégation, qui atténue le problème de suivi des fournisseurs d'identité. Avec NextGen, les utilisateurs peuvent se connecter sur des RP sans que l'IdP ne les suive.
  • FedCM vise à présenter aux utilisateurs un plus grand choix d'IdP, en fonction du choix de la RP. Pour ce faire, nous travaillons sur les API Multi-IdP et IdP Registration.
  • Nous nous efforçons d'intégrer FedCM à d'autres méthodes d'authentification, comme les clés d'accès, avec des moyens supplémentaires tels que la saisie automatique, afin de proposer une expérience d'authentification unifiée.

Pour en savoir plus, consultez notre feuille de route.