À partir de Chrome 128, l'API Multi-IdP commence une évaluation d'origine sur ordinateur, tandis que l'API Button Mode et le bundle Continuation commencent une évaluation d'origine sur Android. Grâce à 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 UI. 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 un fournisseur d'identité. Le bundle inclut également d'autres modifications, telles que l'API Fields, les configURL multiples et les libellés de compte personnalisés.
Phase d'évaluation de l'origine : API Multi IdP
Cette fonctionnalité permet aux utilisateurs de choisir un compte parmi un ensemble d'IdP compatibles. Les RP bénéficient ainsi de taux de connexion et d'inscription plus élevés. Si l'utilisateur est connecté à plusieurs IdP, il sera invité à se connecter au RP à l'aide de l'un d'eux.
Les IdP sont classés par ordre de priorité en fonction des comptes existants de l'utilisateur et de leurs codes temporels associés.
- Si l'utilisateur s'est déjà connecté au RP avec un IdP spécifique (c'est-à-dire qu'il possède un "compte existant"), ces IdP seront listés en premier.
- Parmi les comptes renvoyés, les fournisseurs d'identité sont ensuite triés par code temporel de leur utilisation la plus récente, le fournisseur d'identité le plus récemment utilisé apparaissant en haut de la liste. Dans certains cas, Chrome peut ne pas disposer de données d'horodatage pour un compte récurrent. Cela est probablement dû au fait que l'utilisateur s'est connecté avant l'implémentation des journaux d'horodatage dans FedCM. Ces comptes sont listés sous ceux qui comportent des codes temporels.
- Si l'utilisateur n'a aucun compte récurrent auprès d'un IdP, l'ordre fourni par le RP est respecté.
FedCM permet la réauthentification automatique si le développeur la demande et s'il n'y a qu'un seul compte de retour. Dans le cas de l'authentification multi-IdP, si des comptes existants sont associés à plusieurs IdP, l'utilisateur ne sera pas automatiquement réauthentifié. Pour que la réauthentification automatique fonctionne, il est impératif que l'utilisateur dispose d'un compte récurrent. Le navigateur ne lancera la réauthentification automatique que lorsqu'il aura explicitement reconnu le compte. Cela implique que l'utilisateur doit avoir déjà utilisé FedCM avec ce compte spécifique sur ce RP.
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 pour cet IdP. De même, si l'état de l'utilisateur est "déconnecté" pour 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 est "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.
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.
Phase d'évaluation de l'origine : 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 à l'aide de Chrome 128 ou version ultérieure.
Essayer en tant qu'utilisateur
Essayez-le vous-même en tant qu'utilisateur. Assurez-vous que :
- Chrome n'est pas configuré pour bloquer les invites de connexion tierces sur la page :
chrome://settings/content/federatedIdentityApi. - Vous êtes connecté à plusieurs IdP de démonstration. Suivez les instructions sur la page de démonstration.
Notez que pour essayer Multi-IdP sur des sites dont l'origine n'est pas enregistrée pour l'évaluation de l'origine, vous devez activer le flag de fonctionnalité sous chrome://flags/#fedcm-multi-idp.
Essayer en tant que développeur
Si un fournisseur d'identité dispose d'un SDK JavaScript intégré au RP (recommandé), l'appel navigator.credentials.get() pour activer plusieurs fournisseurs d'identité peut être implémenté par le fournisseur, et les développeurs du RP n'ont pas besoin de modifier leur code. Sinon, le RP doit appeler lui-même l'API FedCM.
Pour tester plusieurs IdP 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 de l'objet obtenu stocke l'URL du fichier de configuration du fournisseur d'identité avec lequel l'utilisateur s'est authentifié. Le RP peut déterminer comment gérer le token résultant, car il diffère selon l'IdP.
Participer à la phase d'évaluation de l'origine
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 versions d'essai d'origine.
Vous pouvez essayer la fonctionnalité Multi-IdP en vous inscrivant aux phases d'évaluation à partir de Chrome 128.
Pour essayer Multi-IdP, un RP peut enregistrer son origine et exécuter un test d'origine first party. L'IdP peut également s'inscrire à un test d'origine tierce et rendre la fonctionnalité Multi-IdP disponible pour tous ses RP à l'aide des SDK JavaScript.
Pour participer à la phase d'évaluation de l'origine :
- Accédez à la page d'inscription à la phase d'évaluation de l'API Multi IdP. 2. Cliquez sur le bouton Register (S'inscrire) et remplissez le formulaire pour demander un jeton.
- Pour vous inscrire à une phase d'évaluation de l'origine propriétaire, saisissez l'origine du RP dans le champ "Origine Web". Pour un test d'origine tierce, saisissez l'origine du SDK JavaScript du fournisseur d'identité et cochez la case "Correspondance tierce".
- Cliquez sur Envoyer.
- Indiquez le jeton émis sur la page du fournisseur d'identité :
- Pour les participants aux tests d'origine 1P :
- 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 à la version d'évaluation de l'origine tierce : - En fournissant un jeton de manière programmatique.
- Pour les participants aux tests d'origine 1P :
- En tant que balise Meta dans
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 première phase d'évaluation 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 du fournisseur d'identité lors de l'appel d'API. Le flux de connexion est initié par un geste de l'utilisateur, ce qui reflète mieux son intention.
Dans Chrome 128, une nouvelle fonctionnalité permet aux fournisseurs d'identité d'inclure l'icône du logo officiel du RP directement dans la réponse du point de terminaison des métadonnées du 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 du RP peuvent être configurées côté 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
}]
Pour en savoir plus sur la prise en charge des icônes, consultez la documentation pour les développeurs.
Si l'utilisateur n'est pas encore connecté, FedCM l'invite à se connecter à l'IdP à l'aide de l'login_url fourni par l'IdP via un onglet personnalisé Chrome (CCT).
Si l'utilisateur se réauthentifie avec un compte existant, l'UI de divulgation ne s'affiche pas.
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 à l'Origin Trial sur ordinateur, la fonctionnalité sera automatiquement disponible pour vous dans Chrome sur Android à partir de Chrome 128.
Bundle d'API de continuation pour Chrome sur Android
À partir de la version 128 de Chrome, le bundle Continuation API sera disponible pour Chrome sur Android dans le cadre d'une phase d'évaluation, après sa phase d'évaluation initiale sur ordinateur. Le bundle se compose de plusieurs fonctionnalités FedCM, y compris l'API Continuation, l'API Parameters, l'API Fields, l'API Multiple configURLs et l'API Custom Account Labels.
L'API Continuation permet des flux de connexion en plusieurs étapes. L'API Parameters permet de transmettre des paramètres supplémentaires au fournisseur d'identité. L'API Fields permet au RP de demander des attributs de compte spécifiques pour l'UI de divulgation dans la boîte de dialogue FedCM. De plus, Multiple configURL prend en charge plusieurs fichiers de configuration pour un IdP, et les libellés de compte personnalisés permettent aux IdP d'annoter les comptes afin que les RP puissent les filtrer par ces libellés.
Pour en savoir plus sur le bundle Continuation API, consultez l'article de blog Bundle Continuation API sur ordinateur. Pour vous inscrire à l'origin trial, suivez ces instructions. Si vous vous êtes déjà inscrit à l'Origin Trial sur ordinateur, les fonctionnalités seront automatiquement disponibles pour vous dans Chrome sur Android à partir de Chrome 128.
Interagir et envoyer des commentaires
Si vous avez des commentaires ou si vous rencontrez des problèmes, vous pouvez signaler un problème. Nous continuerons de mettre à jour le guide canonique pour les développeurs FedCM, ainsi que la page des journaux de mise à jour cumulés.