Mises à jour de l'API Federated Credential Management

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

À qui s'adressent ces mises à jour ?

Ces nouveautés peuvent vous être utiles si:

  • Vous êtes un IdP utilisant l'API Federated Credential Management.
  • Vous êtes un IdP ou un tiers assujetti à des restrictions et vous souhaitez étendre l'API à votre cas d'utilisation (par exemple, vous avez observé ou participé aux discussions sur le dépôt FedID CG) et souhaitez comprendre les modifications apportées à l'API.
  • Vous êtes fournisseur de navigateur et vous souhaitez connaître l'état d'implémentation de l'API.

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

Journal des modifications

Pour vous tenir informé des modifications apportées à l'API FedCM, consultez notre blog ou 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 tiers assujettis à des restrictions de spécifier une propriété domainHint dans un appel d'API FedCM pour n'afficher que les comptes correspondants pour l'utilisateur.

Chrome 122 (janvier 2024)

  • Ajout de la compatibilité avec l'API Déconnecter. L'API Déconnecter permet aux tiers 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 le fournisseur d'identité sont sur le même site.
  • Les sous-ressources peuvent désormais définir un état de connexion sur le 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 ne se déclenche que lorsque l'utilisateur revient. Cela signifie que l'utilisateur doit se connecter une fois à chaque instance du navigateur auprès du tiers assujetti à des restrictions à l'aide de FedCM avant de pouvoir déclencher la réauthentification automatique. Cette condition a été initialement introduite pour réduire le risque que les outils de suivi se font passer pour un fournisseur d'identité (IdP) et incitent le navigateur à réauthentifier automatiquement un utilisateur à son insu ou sans son consentement. Toutefois, cette conception ne peut pas garantir les avantages en termes de confidentialité si le tracker a accès à des cookies tiers dans le contexte de tiers assujetti à des restrictions. FedCM ne fournit qu'un sous-ensemble des fonctionnalités possibles via les cookies tiers. Par conséquent, si le tracker a déjà accès aux cookies tiers dans le contexte de la RP, l'accès à FedCM ne présente aucun risque supplémentaire en termes de confidentialité.
      Étant donné qu'il existe des utilisations légitimes des cookies tiers et qu'assouplir la condition améliorerait l'expérience utilisateur, ce comportement change depuis Chrome 121. Nous avons décidé d'assouplir la restriction de la condition visant à traiter un utilisateur comme connu: si des cookies tiers sont disponibles pour le fournisseur d'identité dans le contexte du RP, Chrome fera confiance à la déclaration du fournisseur d'identité concernant l'état du compte utilisateur spécifié via la liste approved_clients et déclenchera une réauthentification automatique, le cas échéant. Les cookies tiers peuvent être disponibles via les paramètres utilisateur, les règles d'entreprise, les méthodes heuristiques (Safari, Firefox et Chrome) et d'autres API de plate-forme Web (comme l'API Storage Access). Notez que si le fournisseur d'identité perd l'accès aux cookies tiers par le passé, si un utilisateur n'a jamais explicitement accordé d'autorisation sur l'interface utilisateur de FedCM (par exemple, en cliquant sur le bouton Continuer en tant que), il est toujours considéré comme un nouvel utilisateur.
      Aucune action n'est requise de la part du développeur. Notez que le flux de réauthentification automatique peut être déclenché davantage 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 la RP.

Chrome 120 (novembre 2023)

  • Ajout de la prise en charge des trois fonctionnalités suivantes dans Chrome 120 :
    • API Login Status: l'API Login Status est un mécanisme qui permet à un site Web, en particulier un IdP, d'informer le navigateur de l'état de connexion de l'utilisateur. Grâce à cette API, le navigateur peut réduire le nombre de requêtes inutiles adressées au fournisseur d'identité et atténuer les attaques temporelles potentielles. L'API Login Status est requise pour FedCM. Avec cette modification, l'option 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 l'interface utilisateur du navigateur avec les informations sur l'erreur fournies par le fournisseur d'identité.
    • API Auto-Selected Flag: l'API Auto-Selected Flag indique si une autorisation explicite de l'utilisateur a été acquise en appuyant sur le bouton Continue as (Continuer en tant que) avec le fournisseur d'identité et le RP, chaque fois qu'une réauthentification automatique s'est produite ou qu'une médiation explicite s'est produite. Le partage ne se produit qu'une fois que l'autorisation de l'utilisateur a été accordée pour la communication IdP et RP.

Chrome 117 (sept. 2023)

Chrome 116 (août 2023)

  • Ajout de la prise en charge des trois fonctionnalités suivantes dans Chrome 116 :
    • API Login Hint: spécifiez le compte utilisateur avec lequel vous souhaitez vous connecter.
    • API User Info: récupérez les informations sur 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 "Connexion" dans la boîte de dialogue FedCM.
  • La phase d'évaluation pour l'API IdP Sign-In Status est disponible. Pour en savoir plus, consultez Mises à jour de FedCM: API IdP Sign-In Status, Conseil 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 permet une réauthentification simplifiée 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'intégrateur doit spécifier le identity-credentials-get Permissions-Policy 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. Avec cet indicateur, vous pouvez 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 bien connu" dans le document. Aucune modification de la mise en œuvre n'est requise.
  • Dans le document, le "fichier manifeste IdP" est désormais appelé "fichier de configuration". Aucune modification de l'implémentation n'est nécessaire.
  • Dans le "fichier de configuration", id_token_endpoint 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 de la RP enregistrée à l'avance sur le point de terminaison du jeton d'ID.
  • Le fichier manifeste de premier niveau est renommé /.well-known/fedcm.json par /.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 caractéristiques, mais il s'agit d'un changement en grande partie invisible.
  • Déplacez la fonctionnalité de connexion d'une combinaison de navigator.credentials.get() et FederatedCredential.prototype.login() vers navigator.credentials.get().
  • Le point de terminaison de révocation indiqué dans le fichier manifeste n'est plus en vigueur.
  • 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 en tant qu'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)

  • Compatibilité avec les environnements de bureau.
  • Accepte les paramètres par tiers assujetti à des restrictions sur ordinateur.
  • Le point de terminaison des métadonnées client est désormais facultatif. Sur 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