Prise en charge de la réauthentification automatique dans FedCM

Chrome permet la réauthentification automatique dans FedCM

L'API Federated Credential Management (FedCM) est API Web pour la fédération d'identité protégeant la confidentialité. Avec la fédération d'identité, La RP (partie de confiance) s'appuie sur un IdP (fournisseur d'identité) pour fournir à l'utilisateur sans avoir à saisir un nouveau nom d'utilisateur et un nouveau mot de passe.

FedCM permet au navigateur de comprendre le contexte dans lequel la RP et l'IdP échanger des informations. Elle informe l'utilisateur sur les informations et les privilèges et d'éviter toute utilisation abusive involontaire. FedCM est disponible en Chrome à partir de la version 108.

Dans Chrome 115, FedCM prend en charge la réauthentification automatique, ce qui améliore l'expérience utilisateur et permet une réauthentification simplifiée auprès du tiers assujetti à des restrictions après le consentement initial.

Réauthentification automatique

Actuellement, après qu'un utilisateur a créé un compte fédéré sur un tiers assujetti à des restrictions avec un fournisseur d'identité via l'API FedCM, la prochaine fois qu'ils visiter le site Web, ils doivent suivre les mêmes étapes dans l'interface utilisateur. Cela signifie que l'utilisateur devra explicitement et manuellement reconfirmer pour s'authentifier à nouveau et poursuivre la procédure de connexion.

Si l'expérience utilisateur explicite a du sens avant que l'utilisateur ait créé la fédéré pour empêcher le suivi (qui est l'un des principaux objectifs de FedCM), elle devient inutilement fastidieuse après que l'utilisateur l'a passée une fois: après l'utilisateur accorde l'autorisation d'autoriser la communication entre le RP et le IdP, il n'y a aucun avantage en termes de confidentialité ou de sécurité à appliquer l'autorisation d'un autre utilisateur explicite une confirmation pour quelque chose qu’il a déjà confirmé. C'est pourquoi nous lançons une expérience utilisateur simplifiée pour les tiers assujettis à des restrictions. les utilisateurs connus.

FedCM réauthentification automatique ("réauthentification automatique") peuvent permettre aux utilisateurs de se réauthentifier automatiquement lorsqu'ils revenir après leur authentification initiale à l’aide de FedCM. « Le début "Authentification unique" que l'utilisateur crée un compte ou se connecte site Web en appuyant sur le bouton Continuer en tant que dans la boîte de dialogue de connexion de FedCM pour la première fois sur la même instance de navigateur.

<ph type="x-smartling-placeholder">
</ph> Une boîte de dialogue sur laquelle l&#39;utilisateur appuie pour créer un compte ou s&#39;authentifier.
Une boîte de dialogue sur laquelle l'utilisateur appuie pour créer un compte ou s'authentifier.

Sélectionner une option de réauthentification automatique

Pendant que nous introduisons la fonctionnalité de réauthentification automatique, elle permet d'améliorer l'expérience utilisateur et de respecter les l'expérience utilisateur par défaut sera différente sans aucun code le changement. Lorsque la fonctionnalité de réauthentification automatique est disponible, le navigateur change de comportement en fonction selon l'option que vous sélectionnez dans l'option mediation fournie par les développeurs navigator.credentials.get()

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
  },
  mediation: 'optional', // this is the default
});

mediation est une propriété de la page Gestion des identifiants l'API, son comportement est le même fait pour PasswordCredential et FederatedCredential et il est partiellement pris en charge par PublicKeyCredential . La propriété accepte les quatre valeurs suivantes:

  • 'required': une médiation est toujours nécessaire pour pouvoir continuer, par exemple en cliquant sur le bouton "Continuer" de l'interface utilisateur. Choisissez cette option si vos utilisateurs sont censés accorder explicitement l'autorisation chaque fois qu'ils doivent être authentifiés.
  • 'optional'(par défaut): réauthentification automatique si possible. Une médiation est requise dans le cas contraire. Mer nous vous recommandons de choisir cette option sur la page de connexion.
  • 'silent': réauthentification automatique si possible, échec silencieux sans nécessiter de si ce n'est pas le cas. Nous vous recommandons de choisir cette option sur les pages autres que la page de connexion dédiée, mais sur laquelle vous souhaitez que les utilisateurs restent connectés, Il peut s'agir, par exemple, d'une page d'article sur un site Web de livraison ou d'une page d'article sur un site d'actualités. sur votre site Web.
  • 'conditional': utilisé pour WebAuthn et non disponible pour FedCM pour le moment.

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

  • FedCM est disponible. Par exemple, l'utilisateur n'a pas désactivé FedCM. soit de manière globale, soit pour le tiers assujetti à des restrictions dans les paramètres.
  • L'utilisateur n'a utilisé qu'un seul compte avec l'API FedCM pour se connecter au site Web sur ce navigateur.
  • L'utilisateur est connecté au fournisseur d'identité avec ce compte.
  • La réauthentification automatique ne s'est pas produite au cours des 10 dernières minutes.
  • Le tiers assujetti à des restrictions n'a pas appelé Puis navigator.credentials.preventSilentAccess() la précédente connexion.

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

<ph type="x-smartling-placeholder">
</ph>
Un utilisateur se réauthentifie automatiquement via FedCM.

Appliquer la médiation avec preventSilentAccess()

La réauthentification automatique des utilisateurs immédiatement après leur déconnexion n'est pas très bonne expérience utilisateur. C'est pourquoi FedCM dispose d'une période silencieuse de 10 minutes après une réauthentification automatique pour éviter ce comportement. La réauthentification automatique a donc lieu au maximum toutes les 10 minutes, sauf si l'utilisateur se reconnecte sous 10 minutes. Le tiers assujetti à des restrictions doit appeler navigateurator.credentials.preventSilentAccess() pour demander explicitement au navigateur de désactiver la réauthentification automatique lorsqu'un utilisateur se déconnecte le tiers assujetti à des restrictions explicitement, par exemple en cliquant sur un bouton de déconnexion.

function signout() {
  navigator.credentials.preventSilentAccess();
  location.href = '/signout';
}

Les utilisateurs peuvent désactiver la réauthentification automatique dans les paramètres

Les utilisateurs peuvent désactiver la réauthentification automatique dans le menu des paramètres:

  • Dans Chrome pour ordinateur, accédez à chrome://password-manager/settings > Se connecter automatiquement.
  • Dans Chrome pour Android, accédez à Paramètres > Gestionnaire de mots de passe > Appuyez sur un roue dentée en haut à droite > Connexion automatique.

En désactivant l'option, l'utilisateur peut désactiver la réauthentification automatique ensemble. Ce paramètre est stocké et synchronisé sur tous les appareils, si l'utilisateur connecté à un compte Google sur l'instance Chrome, et la synchronisation est est activé.

Envoyer des commentaires

Si vous testez FedCM, vous pouvez nous faire part de vos commentaires ou des problèmes que vous rencontrez. sur crbug.com sous le composant "Blink>Identity>FedCM".

Photo de Noah Samuel Franz sur Unsplash