Mises à jour FedCM: phase d'évaluation pour la réauthentification automatique

Nous avons apporté quelques modifications à FedCM, dont une nouvelle phase d'évaluation pour la réauthentification automatique.

L'API Federated Credential Management (FedCM) est une API Web permettant la fédération d'identité protégeant la confidentialité. Avec la fédération d'identité, une 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.

FedCM est une API conçue sur mesure qui permet au navigateur de comprendre le contexte dans lequel le RP et le fournisseur d'identité échangent des informations, d'informer l'utilisateur des informations et des niveaux de privilèges partagés, et d'éviter toute utilisation abusive involontaire.

Mises à jour

Quelques mises à jour sont apportées à l'implémentation FedCM de Chrome:

Pour toutes les mises à jour précédentes de l'API, consultez les mises à jour de l'API Federated Credential Management.

La dernière version de FedCM inclut une nouvelle fonctionnalité de réauthentification automatique qui permet d'authentifier automatiquement les utilisateurs lorsqu'ils reviennent après s'être authentifié à l'aide de FedCM. La réauthentification automatique est disponible en phase d'évaluation à partir de Chrome 112.

Réauthentification automatique

Actuellement, après qu'un utilisateur a créé un compte fédéré sur un tiers assujetti à des restrictions avec un IdP via FedCM, la prochaine fois qu'il accède au site Web, il doit suivre la même procédure dans l'interface utilisateur. Autrement dit, ils doivent confirmer et se réauthentifier explicitement pour poursuivre le flux de connexion. L'un des principaux objectifs de FedCM étant d'empêcher le suivi dissimulé, cette expérience utilisateur (UX) est logique avant que l'utilisateur ne crée le compte fédéré, mais devient inutile et fastidieuse une fois qu'il l'a utilisée une fois. Une fois que l'utilisateur a autorisé la communication entre le tiers assujetti à des restrictions et le fournisseur d'identité,  il n'y a aucun avantage en termes de confidentialité ou de sécurité à demander une autre confirmation explicite de l'utilisateur pour un élément qu'il a déjà confirmé. Chrome propose une expérience utilisateur simplifiée, que les tiers assujettis peuvent choisir pour leurs utilisateurs connus.

La réauthentification automatique FedCM ("réauthentification automatique") permet de réauthentifier automatiquement les utilisateurs (lorsque les tiers assujettis à des restrictions l'activent) lorsqu'ils reviennent après leur authentification initiale à l'aide de FedCM. "L'authentification initiale" signifie que l'utilisateur crée un compte ou se connecte au site Web du tiers assujetti à des restrictions en appuyant pour la première fois sur le bouton Continuer en tant que de la boîte de dialogue de connexion de FedCM dans la même instance de navigateur.

Boîte de dialogue sur laquelle l'utilisateur appuie pour créer un compte ou s'authentifier.
Boîte de dialogue sur laquelle l'utilisateur appuie pour créer un compte ou s'authentifier.

Le tiers assujetti à des restrictions peut demander une réauthentification automatique en appelant navigator.credentials.get() avec autoReauthn: true.

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
    // NOTE: We are exploring different API options to expose this
    // functionality here:
    // https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
    // You should expect that, as a result of the origin trial, we'll
    // learn more from developers and browser vendors what works best here.
    autoReauthn: true, // default to false
  },
});

Avec cet appel, la réauthentification automatique s'effectue dans les conditions suivantes:

  • FedCM peut être utilisé. Par exemple, l'utilisateur n'a pas désactivé FedCM à l'échelle mondiale ou pour le tiers assujetti à des restrictions.
  • L'utilisateur n'a utilisé qu'un seul compte FedCM pour se connecter au site Web sur ce navigateur.
  • L'utilisateur est connecté au fournisseur d'identité avec ce compte.
  • La reauthentification automatique ne s'est pas produite au cours des 10 dernières minutes.

Lorsque les conditions ci-dessus sont remplies, une tentative de réauthentification automatique de l'utilisateur démarre dès que l'navigator.credentials.get() FedCM est appelée.

Un utilisateur s'authentifie automatiquement auprès d'un tiers assujetti à des restrictions à l'aide de FedCM

Essayer

Vous pouvez essayer la réauthentification automatique FedCM localement en activant un indicateur Chrome chrome://flags#fedcm-auto-re-authn sur Chrome 112 ou version ultérieure.

À des fins de test, vous pouvez réinitialiser la période silencieuse de 10 minutes en supprimant les données du navigateur.

  1. Accédez à chrome://history.
  2. Dans le champ "Historique des recherches", saisissez l'origine du tiers assujetti à des restrictions.
  3. Cliquez sur l'icône à trois points ⋮ et sélectionnez Supprimer de l'historique.
  4. Redémarrez Chrome.

Participer à la phase d'évaluation

Vous pouvez également activer la fonctionnalité sur votre site Web en rejoignant la phase d'évaluation tierce disponible de Chrome 112 à Chrome 114.

Les phases d'évaluation vous permettent d'essayer de nouvelles fonctionnalités et de donner votre avis sur leur facilité d'utilisation, leur praticité et leur efficacité à la communauté des standards Web. Pour en savoir plus, consultez le guide sur les phases d'évaluation pour les développeurs Web. Pour vous inscrire à cette phase d'évaluation ou à une autre, accédez à la page d'inscription.

Pour vous inscrire à la phase d'évaluation tierce et activer la fonctionnalité pour des tiers:

  1. Accédez à la page d'inscription aux phases d'évaluation.
  2. Cliquez sur le bouton Register (S'inscrire) et remplissez le formulaire pour demander un jeton.
  3. Indiquez l'origine de diffusion dans le champ Origine Web.
  4. Cochez la case Correspondance tierce pour injecter le jeton avec JavaScript sur d'autres origines.
  5. Cliquez sur Envoyer.
  6. Intégrez le jeton émis dans une application tierce.

Pour intégrer le jeton à un tiers, ajoutez le code suivant à votre bibliothèque JavaScript ou à votre SDK diffusé à partir de l'origine du site Web enregistré.

const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = 'TOKEN_GOES_HERE';
document.head.appendChild(tokenElement);

Remplacez TOKEN_GOES_HERE par votre propre jeton.

Interagir et donner votre avis

Si vous avez des commentaires ou rencontrez des problèmes lors des tests, vous pouvez les partager sur crbug.com sous le composant Blink>Identity>FedCM.

Photo d'Alex Perz sur Unsplash