Mises à jour de l'API Federated Credential Management

L'API Federated Credential Management est expédiée dans Chrome 108, mais elle devrait continuer à évoluer. Aucune modification destructive n'est prévue.

À qui s'adressent ces modifications ?

Ces mises à jour sont destinées à vous si:

  • Vous êtes un IdP utilisant l'API Federated Credential Management.
  • Vous êtes un fournisseur d'identité (IdP) ou un tiers assujetti à des restrictions et vous souhaitez étendre l'API à votre cas d'utilisation. Par exemple, vous avez observé ou participé à des discussions sur le dépôt FedID CG, et vous souhaitez comprendre les modifications apportées à l'API.
  • Vous êtes fournisseur de navigateur et vous souhaitez consulter l'état de la mise en œuvre de l'API.

Si vous débutez avec cette API ou si vous ne l'avez pas encore testée, consultez la présentation de l'API Federated Credential Management.

Journal des modifications

Pour rester informé des modifications apportées à l'API FedCM, abonnez-vous à notre newsletter.

Chrome 125 (avril 2024)

Chrome 123 (février 2024)

  • Ajout de la compatibilité avec l'API Domain Hint. L'API Domain Hint permet aux RP de spécifier une propriété domainHint lors d'un appel d'API FedCM pour n'afficher que les comptes correspondants de l'utilisateur.

Chrome 122 (janvier 2024)

  • Ajout de la compatibilité avec l'API Déconnecter. L'API Déconnecter permet aux tiers assujettis à des restrictions de déconnecter leurs utilisateurs du compte du fournisseur d'identité sans utiliser de cookies tiers.
  • La vérification de /.well-known/web-identity est désormais ignorée lorsque le RP et l'IdP sont sur le même site.
  • Les sous-ressources peuvent désormais définir un état de connexion au même site.

Chrome 121 (décembre 2023)

  • Condition assouplie pour déclencher la réauthentification automatique FedCM :
    • La fonctionnalité de réauthentification automatique de FedCM n'est déclenchée que lorsque l'utilisateur revient. Cela signifie que l'utilisateur doit se connecter à la RP à l'aide de FedCM une fois sur chaque instance du navigateur, avant de pouvoir déclencher la réauthentification automatique. Cette condition a été initialement introduite pour limiter le risque que les traceurs se font passer pour un fournisseur d'identité (IdP) et tentent de tromper le navigateur pour qu'il réauthentifie automatiquement un utilisateur à son insu ou sans son consentement. Toutefois, cette conception ne peut pas garantir l'avantage en termes de confidentialité si l'outil de suivi a accès à des cookies tiers dans le contexte de la RP. FedCM ne fournit qu'un sous-ensemble des fonctionnalités possibles via les cookies tiers. Par conséquent, si le traceur a déjà accès à des cookies tiers dans le contexte de la RP, l'accès à FedCM ne présente aucun risque supplémentaire lié à la confidentialité.
      Étant donné qu'il existe des utilisations légitimes des cookies tiers et qu'un assouplissement de la condition améliorerait l'expérience utilisateur, ce comportement change par rapport à Chrome 121. Nous avons décidé d'assouplir la restriction de la condition afin de traiter un utilisateur comme connu: si des cookies tiers sont disponibles pour le fournisseur d'identité dans le contexte de la RP, Chrome fera confiance à la déclaration du fournisseur d'identité concernant l'état du compte de l'utilisateur spécifié dans la liste approved_clients et déclenche la réauthentification automatique, le cas échéant. Les cookies tiers peuvent être disponibles via les paramètres utilisateur, les règles d'entreprise, l'heuristique (Safari, Firefox, Chrome) et d'autres API de plates-formes Web (telles que l'API Storage Access). Notez que si le fournisseur d'identité perd l'accès aux cookies tiers à l'avenir, si un utilisateur n'a jamais explicitement accordé l'autorisation dans l'interface utilisateur FedCM (par exemple, en cliquant sur le bouton Continuer en tant que), il sera toujours considéré comme un nouvel utilisateur.
      Aucune action de la part du développeur n'est requise. Notez que le flux de réauthentification automatique peut être davantage déclenché avec cette modification si le fournisseur d'identité a accès aux cookies tiers et affirme que l'utilisateur a déjà créé un compte sur le tiers assujetti à des restrictions.

Chrome 120 (novembre 2023)

  • Les trois fonctionnalités suivantes sont désormais compatibles avec Chrome 120 :
    • API Login Status: l'API Login Status est un mécanisme grâce auquel un site Web, en particulier un fournisseur d'identité, informe le navigateur de l'état de connexion de son utilisateur. Avec cette API, le navigateur peut réduire les requêtes inutiles adressées au fournisseur d'identité et limiter les attaques de synchronisation potentielles. L'API Login Status est requise pour FedCM. Avec ce changement, l'indicateur chrome://flags/#fedcm-without-third-party-cookies n'est plus nécessaire pour activer FedCM lorsque les cookies tiers sont bloqués.
    • API Error: l'API Error avertit l'utilisateur en affichant une interface de navigateur avec les informations d'erreur fournies par le fournisseur d'identité.
    • API Auto-Selected Flag: l'API Auto-Selected Flag indique si une autorisation d'utilisateur explicite a été acquise en appuyant sur le bouton Continue as (Continuer en tant que) avec l'IdP et le RP, chaque fois qu'une nouvelle authentification automatique s'est produite ou qu'une médiation explicite s'est produite. Le partage ne se produit qu'une fois l'autorisation de l'utilisateur accordée pour la communication entre l'IdP et le RP.

Chrome 117 (sept. 2023)

Chrome 116 (août 2023)

  • Les trois fonctionnalités suivantes sont désormais compatibles avec Chrome 116 :
    • API Login Hint: indiquez le compte utilisateur auquel vous souhaitez vous connecter de préférence.
    • API User Info: extrayez les informations de l'utilisateur connu afin que le fournisseur d'identité (IdP) puisse afficher un bouton de connexion personnalisé dans un iFrame.
    • API RP Context: utilisez un titre différent de "Se connecter" dans la boîte de dialogue FedCM.
  • La phase d'évaluation est disponible pour l'API IdP Sign-In Status. Pour en savoir plus, consultez l'article Mises à jour FedCM: API IdP Sign-In Status, indice de connexion, etc..

Chrome 115 (juin 2023)

  • Ajout de la prise en charge de la réauthentification automatique, qui permet aux utilisateurs de se réauthentifier automatiquement lorsqu'ils reviennent après leur authentification initiale à l'aide de FedCM. Cela améliore l'expérience utilisateur et simplifie la réauthentification auprès du tiers assujetti à des restrictions après le consentement initial. En savoir plus sur la réauthentification automatique FedCM

Chrome 110 (février 2023)

  • Pour le point de terminaison d'assertion d'ID, les fournisseurs d'identité doivent vérifier l'en-tête Origin (au lieu de l'en-tête Referer) pour voir si la valeur correspond à l'origine de l'ID client.
  • Les iFrames multi-origines sont désormais compatibles avec FedCM. L'élément intégré doit spécifier l'élément Permissions-Policy identity-credentials-get pour autoriser l'API FedCM dans l'iFrame multi-origine intégré. Consultez un exemple d'iFrame multi-origine.
  • Ajout d'un indicateur Chrome chrome://flags/#fedcm-without-third-party-cookies. Cet indicateur vous permet de tester le fonctionnement de FedCM dans Chrome en bloquant les cookies tiers. Pour en savoir plus, consultez la documentation FedCM.

Chrome 108 (octobre 2022)

  • Le "fichier manifeste de premier niveau" est désormais appelé "fichier connu" dans le document. Aucune modification de l'implémentation n'est requise.
  • "Fichier manifeste IdP" est désormais appelé "fichier de configuration" dans le document. Aucune modification de l'implémentation n'est requise.
  • Le id_token_endpoint du "fichier de configuration" est renommé id_assertion_endpoint.
  • Les requêtes adressées au fournisseur d'identité incluent désormais un en-tête Sec-Fetch-Dest: webidentity au lieu d'un en-tête Sec-FedCM-CSRF: ?1.

Chrome 105 (août 2022)

  • Ajout d'informations de sécurité importantes au document. Le fournisseur d'identité (IdP) doit vérifier si l'en-tête Referer correspond à l'origine que la RP enregistrée à l'avance sur le point de terminaison du jeton d'ID.
  • Le fichier manifeste de premier niveau /.well-known/fedcm.json est renommé /.well-known/web-identity, et l'URL spécifiée dans provider_urls doit inclure le nom du fichier.
  • Les méthodes login(), logout() et revoke() sur les instances FederatedCredential ne sont plus disponibles.
  • L'API Federated Credential Management utilise désormais un nouveau type IdentityCredential au lieu de FederatedCredential. Cela peut être utilisé pour la détection de fonctionnalités, mais il s'agit d'un changement largement invisible.
  • Déplacement de la fonctionnalité de connexion d'une combinaison de navigator.credentials.get() et FederatedCredential.prototype.login() vers navigator.credentials.get().
  • Le point de terminaison de la révocation dans le fichier manifeste n'est plus appliqué.
  • Utilisez un champ identity au lieu d'un champ federated pour les appels navigator.credentials.get().
  • url est désormais configURL et doit correspondre à l'URL complète du fichier manifeste JSON au lieu du chemin d'accès pour un appel navigator.credentials.get().
  • nonce est désormais un paramètre facultatif pour navigator.credentials.get().
  • hint n'est plus disponible comme option pour navigator.credentials.get().
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (juin 2022)

Chrome 103 (mai 2022)

  • Il est compatible avec les environnements de bureau.
  • Compatibilité avec les paramètres par tiers assujetti à des restrictions sur ordinateur.
  • Le point de terminaison des métadonnées du client est désormais facultatif. Au niveau de ce point de terminaison, l'URL des règles de confidentialité est également facultative.
  • Ajout d'une mise en garde concernant l'utilisation de CSP connect-src dans le document.

Ressources