Mises à jour de FedCM: API multi-IdP sur ordinateur, API Button Mode et Continuation Bundle pour Chrome sur les phases d'évaluation Android

Natalia Markoborodova
Natalia Markoborodova

À partir de Chrome 128, l'API Multi-IdP lance une phase d'évaluation sur ordinateur, et l'API Button Mode et le bundle Continuation lancent une phase d'évaluation sur Android. Avec la fonctionnalité Multi IdP, les développeurs peuvent spécifier un tableau de plusieurs fournisseurs d'identité compatibles dans un seul appel get(). L'API Button Mode ajoute une nouvelle interface utilisateur. Avec l'API Button Mode, les fournisseurs d'identité peuvent utiliser l'API FedCM même si leurs utilisateurs n'ont pas de sessions IdP actives lors de l'appel d'API. Le bundle Continuation se compose de l'API Continuation et de l'API Parameters, qui permettent une expérience semblable à un flux d'autorisation OAuth impliquant une boîte de dialogue d'autorisation fournie par l'IdP. Le bundle inclut également d'autres modifications telles que l'API Fields, plusieurs configURL et des libellés de compte personnalisés.

Phase d'évaluation: API multi-IdP

Cette fonctionnalité permet aux utilisateurs de choisir un compte parmi un ensemble d'IdP compatibles, et les tiers partenaires bénéficient de taux de connexion et d'inscription plus élevés. Si l'utilisateur est connecté avec plusieurs IdP, il sera invité à se connecter au RP à l'aide de l'un des IdP.

Un utilisateur se connecte avec différents IdP à l'aide de l'API multi-IdP.

Les IdP sont priorisés en fonction des comptes existants de l'utilisateur et de l'horodatage associé.

  • Si l'utilisateur s'est déjà connecté au tiers assujetti à des restrictions avec un IdP spécifique (c'est-à-dire s'il possède un "compte connu"), ces IdP sont listés en premier.
  • Dans les comptes connus, les IdP sont ensuite triés en fonction de l'horodatage de leur utilisation la plus récente, le dernier IdP étant affiché en haut de la liste. Dans certains cas, Chrome ne dispose pas de données de code temporel pour un compte connu. Cela est probablement dû au fait que l'utilisateur s'est connecté avant que les journaux de code temporel ne soient implémentés dans FedCM. Ces comptes sont listés en dessous de ceux associés à des codes temporels.
  • Si l'utilisateur ne possède aucun compte connu auprès d'un IdP, l'ordre de RP fourni est respecté.

FedCM autorise la réauthentification automatique si le développeur le demande et s'il n'existe qu'un seul compte connu. Dans le cas d'un multi-IdP, si des comptes de retour existent pour plusieurs IdP, l'utilisateur ne sera pas automatiquement réauthentifié. Pour vous réauthentifier, vous devez impérativement disposer d'un compte connu. Le navigateur ne lance la réauthentification automatique que s'il a explicitement reconnu le compte. Cela implique que l'utilisateur doit avoir déjà utilisé FedCM avec ce compte spécifique pour ce tiers assujetti à des restrictions.

Si l'état de connexion de l'utilisateur est défini sur "Déconnecté" pour un IdP, l'appel de FedCM ne récupère pas les comptes de cet IdP. De même, si l'utilisateur est déconnecté de tous les IdP disponibles, l'invite de connexion à FedCM ne s'affiche pas automatiquement en mode widget.

Si l'état de connexion enregistré dans le navigateur pour un IdP était "connecté", mais qu'aucun compte pour cet IdP n'a été renvoyé par la requête de récupération (par exemple, si la session utilisateur a expiré, mais que l'état de connexion n'a pas encore été mis à jour par le navigateur), l'UI de non-concordance s'affiche pour l'IdP, suggérant à l'utilisateur de se connecter avec l'IdP non concordant.

Lorsque l'état de connexion de l'utilisateur est "Connecté", mais que la session a expiré, l'UI de non-concordance s'affiche.

Pour en savoir plus sur l'état de connexion, consultez la documentation. Pour en savoir plus sur l'implémentation, consultez le guide du développeur.

Essai Origin Trial : API Multi IdP

Vous pouvez essayer l'API Multi IdP en tant qu'utilisateur sur le RP de démonstration ou en tant que développeur utilisant Chrome 128 ou une version ultérieure.

Essayer en tant qu'utilisateur

Testez cette fonctionnalité par vous-même en tant qu'utilisateur. Faites les vérifications suivantes :

  • Chrome n'est pas configuré pour bloquer les invites de connexion tierces sur la page chrome://settings/content/federatedIdentityApi.
  • Vous êtes connecté à plusieurs fournisseurs d'identité de démonstration. Suivez les instructions de la page de démonstration.

Notez que pour tester la multi-IDP sur les sites dont l'origine n'est pas enregistrée pour l'essai d'origine, vous devez activer le flag de fonctionnalité sous chrome://flags/#fedcm-multi-idp.

Essayer en tant que développeur

Si un fournisseur de connexion dispose d'un SDK JavaScript intégré à la RP (recommandé), il peut implémenter l'appel navigator.credentials.get() pour activer plusieurs fournisseurs d'identité. Les développeurs de la RP n'ont pas besoin de modifier leur code. Sinon, le RP doit appeler lui-même l'API FedCM.

Pour tester les ID P multiples sur un RP, spécifiez le tableau des fournisseurs compatibles comme suit :

try {
  const cred = await navigator.credentials.get({
    identity: {
      providers: [
        {
          configUrl: "https://idp1.example/foo.json", // first IdP
          clientId: "123",
        },
        {
          configUrl: "https://idp2.example/bar.json", // second IdP
          clientId: "456",
        }
      ]
    }
  });

  const token = cred.token;
  const currentConfigFileUrl = cred.configURL;

  if (cred.configURL === 'https://idp1.example/foo.json')  {
    // handle the token for idp1.example
  } else if (cred.configURL === 'https://idp2.example/bar.json') {
    // handle the token for idp2.example
  }
} catch (error) {
  console.error("Error during credential retrieval:", error);
}

L'attribut configURL dans l'objet obtenu stocke l'URL du fichier de configuration de l'IdP avec lequel l'utilisateur s'est authentifié. Le RP peut déterminer comment gérer le token généré, car il diffère selon l'IDP.

Participer à la phase d'évaluation

Les essais Origin Trial vous permettent de tester de nouvelles fonctionnalités et de donner votre avis sur leur facilité d'utilisation, leur praticité et leur efficacité. Pour en savoir plus, consultez Premiers pas avec les phases d'évaluation.

Vous pouvez essayer la fonctionnalité d'IdP multifournisseur en vous inscrivant aux phases d'évaluation à partir de Chrome 128.

Pour essayer plusieurs IdP, un tiers assujetti à des restrictions peut enregistrer son origine et lancer une phase d'évaluation first party. Le fournisseur d'identité peut également s'inscrire à une phase d'évaluation tierce et rendre la fonctionnalité d'IdP multifournisseur disponible pour toutes ses parties prenantes qui utilisent des SDK JavaScript.

Pour participer à la phase d'évaluation:

  1. Accédez à la page d'enregistrement pour le test de l'origine de l'API Multi IdP.
  2. Cliquez sur le bouton Register (S'inscrire), puis remplissez le formulaire pour demander un jeton.
  3. Pour vous inscrire à un essai d'origine propriétaire, saisissez l'origine du RP dans le champ "Origine Web". Pour une phase d'évaluation tierce, saisissez l'origine du SDK JavaScript de l'IdP, puis cochez la case "Mise en correspondance tierce".
  4. Cliquez sur Envoyer.
  5. Indiquez le jeton émis sur la page de l'RP :
    • Pour les participants à la phase d'évaluation de l'origine propriétaire :
      • En tant que balise Meta dans <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • En tant qu'en-tête HTTP: Origin-Trial: TOKEN_GOES_HERE
    • Pour les participants aux phases d'évaluation tierces :
      • En fournissant un jeton de manière programmatique.

API Button Mode pour Chrome sur Android

À partir de la version 128 de Chrome, la phase d'évaluation de l'API Button Mode commencera sur Chrome pour Android, après sa phase d'évaluation initiale sur ordinateur. Avec l'API Button Mode, les fournisseurs d'identité peuvent utiliser l'API FedCM même si leurs utilisateurs sont déconnectés de l'IDP lors de l'appel de l'API. Le processus de connexion est initié par un geste de l'utilisateur, ce qui reflète mieux l'intention de l'utilisateur.

Dans Chrome 128, une nouvelle fonctionnalité permet aux fournisseurs d'identité d'inclure l'icône du logo officiel du tiers assujetti à des restrictions directement dans la réponse du point de terminaison des métadonnées client. Cela améliore l'interface utilisateur sur les appareils mobiles en mode bouton.

Comme pour le branding de l'IdP dans le fichier de configuration, les icônes de la RP peuvent être configurées du côté de l'IdP et renvoyées dans la réponse client_metadata_endpoint, comme suit:

  "privacy_policy_url": "https://rp.example/privacy_policy.html",
  "terms_of_service_url": "https://rp.example/terms_of_service.html",
  "icons": [{
      "url": "https://idp.example/rp-icon.ico",
      "size": 40
   }]
Icônes des logos de l&#39;IdP et du RP.
Icônes du logo du fournisseur d'identité et du tiers assujetti à des restrictions dans l'interface utilisateur des communiqués sur mobile.

Pour en savoir plus sur la prise en charge des icônes, consultez la documentation destinée aux développeurs.

Si l'utilisateur n'est pas encore connecté, FedCM l'invite à se connecter à l'IDP à l'aide de l'login_url fournie par l'IDP via un onglet personnalisé Chrome (CCT).

Un utilisateur se connecte via le mode bouton sur mobile.

Si l'utilisateur se réauthentifie avec un compte connu, l'UI du communiqué ne s'affiche pas.

Un utilisateur se connecte avec un compte connu. L'UI d'information n'est pas affichée.

Pour vous inscrire à la phase d'évaluation de l'origine, consultez les instructions concernant l'API Button Mode sur ordinateur. Si vous vous êtes déjà inscrit à la phase d'évaluation sur ordinateur, la fonctionnalité sera automatiquement disponible dans Chrome sur Android à partir de Chrome 128.

Bundle d'API Continuation pour Chrome sur Android

À partir de la version 128 de Chrome, le bundle d'API Continuation sera disponible pour Chrome sur Android dans le cadre d'une phase d'évaluation pour les origines, après sa phase d'évaluation initiale sur ordinateur. Le bundle comprend plusieurs fonctionnalités FedCM, y compris l'API Continuation, l'API Parameters, l'API Fields, les multiples configURLs et les libellés de compte personnalisés.

L'API Continuation active les flux de connexion en plusieurs étapes. L'API Parameters permet de transmettre des paramètres supplémentaires à l'IDP. L'API Fields permet à la RP de demander des attributs de compte spécifiques pour l'interface utilisateur de divulgation dans la boîte de dialogue FedCM. De plus, plusieurs configURL prennent en charge plusieurs fichiers de configuration pour un fournisseur d'identité, et les libellés de compte personnalisés permettent aux fournisseurs d'identité d'annoter les comptes afin que les tiers assujettis à des restrictions puissent les filtrer en fonction de ces libellés.

Pour en savoir plus sur le bundle d'API Continuation, consultez l'article de blog sur le bundle d'API Continuation sur ordinateur. Pour vous inscrire à la phase d'évaluation, suivez ces instructions. Si vous vous êtes déjà inscrit à la phase d'évaluation sur ordinateur, les fonctionnalités seront automatiquement disponibles dans Chrome sur Android à partir de Chrome 128.

Interagir et partager des commentaires

Si vous avez des commentaires ou rencontrez des problèmes, vous pouvez signaler un problème. Nous tiendrons à jour le guide du développeur FedCM canonique, ainsi que la page des journaux de mise à jour.