/userinfo. Pour en savoir plus sur les types de demandes , consultez Demandes de jetons Web JSON.
Exemple
Antérieurement, Auth0 autorisait uniquement les demandes avec espace de noms sur les jetons d’accès et d’ID. Grâce à la migration vers les demandes personnalisées, les demandes sans espace de noms peuvent être utilisées sur les jetons d’accès, les jetons d’ID et le point de terminaison/userinfo de l’Authentication API Auth0.
Flux affectés
Tous les flux Connect (OIDC) pris en charge par Auth0 sont concernés par cette migration. Pour consulter la liste des flux, lisez Flux d’authentification et d’autorisation. Les fonctionnalités suivantes sont également affectées : Les fonctionnalités suivantes ne sont concernées que lorsqu’elles sont utilisées conjointement avec les Règles d’Auth0 et le mappage d’attributs :Restrictions
Taille maximale du jeton
Auth0 a restreint la charge utile des demandes personnalisées (100 Ko max.). Il est important de s’assurer que la charge utile ne dépasse pas cette limite, sinon la transaction d’authentification échouera et une erreur se produira. Nous vous recommandons de revoir votre utilisation du code d’extensibilité (c’est-à-dire les Règles, les Hooks ou les Actions). Plus particulièrement, vérifiez les charges utiles importantes provenant d’API externes. Pour éviter que des erreurs se produisent, Auth0 recommande d’utiliser la plus petite charge utile de jeton nécessaire au fonctionnement de votre application. Vous devrez peut-être supprimer toutes les propriétés qui ne sont pas cruciales avant de définir la valeur de la demande personnalisée.Cette restriction s’applique à l’intégralité de la taille de la charge de toutes vos demandes personnalisées. Cela inclut les noms des demandes personnalisées ainsi que les valeurs associées, qu’elles soient publiques avec espace de noms ou privées sans espace de noms.
Exemples
Demandes restreintes
Auth0 restreindra la personnalisation des demandes utilisées dans les normes OIDC ou OAuth2 ou des demandes à usage interne. Toute tentative de modification de l’une de ces demandes sera ignorée. La transaction n’échouera pas, mais la demande ne sera pas ajoutée aux jetons. Auth0 recommande l’utilisation d’une demande publique, avec espace de noms.acractactiveamrat_hashathattestaudauth_timeauthorization_detailsazpc_hashclient_idcnfctydestentitlementseventsexpgroupsgtyhtmhtuiatinternalServiceissjcardjkujtijwejwkkidmay_actmkynbfnombre aléatoireobject_idorg_idorg_nameorigorigidpermissionsrolesrphs_hashsidsip_callidsip_cseq_numsip_datesip_from_tagsip_via_branchsubsub_jwktoetxntypuuidvotvtmx5t#S256
Exemple
Audience de jetons restreints
Auth0 restreindra la création de demandes personnalisées privées, sans espace de noms, sur les jetons d’accès dont l’ est une API Auth0. Toute tentative de définition d’une demande personnalisée privée, sans espace de nommage, sur un jeton d’accès dont l’audience est une API Auth0 sera ignorée. La transaction n’échouera pas, mais la demande ne sera pas ajoutée à votre jeton. Auth0 recommande de ne pas définir de demandes personnalisées sur les jetons qui doivent être consommés par les API d’Auth0.- Les jetons d’ID ne sont pas concernés par cette restriction.
- Les demandes personnalisées publiques à espace de noms ne sont pas concernées par cette restriction.
https://YOUR_TENANT.auth0.com/apiouhttps://YOUR_TENANT.auth0app.com/apihttps://YOUR_TENANT.auth0.com/api/v2ouhttps://YOUR_TENANT.auth0app.com/api/v2https://YOUR_TENANT.auth0.com/mfaouhttps://YOUR_TENANT.auth0app.com/mfa
/userinfo. Les demandes personnalisées privées, sans espace de nom, sont autorisées pour les audiences suivantes :
https://YOUR_TENANT.auth0.com/userinfohttps://YOUR_TENANT.auth0app.com/userinfo
Exemples
Restriction sur les espaces de noms Auth0 et Webtask
Auth0 restreindra la création de demandes personnalisées avec espace de nommage comportant un domaine Auth0 comme identifiant d’espace de nommage. Les domaines Auth0 sont :- auth0.com
- webtask.io
- webtask.run
Avant cette migration, la définition d’une demande personnalisée à espace de noms avec un identifiant de domaine Auth0 entraînait l’affichage de la demande dans la réponse
/userinfo. Ce comportement disparaît après la migration et ces demandes personnalisées sont complètement ignorées.Demandes de profil utilisateur OIDC
Auth0 permet désormais d’ajouter aux jetons d’accès des demandes de profil utilisateur OIDC. Auth0 permet désormais d’ajouter aux jetons d’accès des demandes de profil utilisateur OIDC.Si vous ajoutez des demandes de profil utilisateur OIDC à des jetons d’accès, les mêmes restrictions de permissions que celles applicables aux jetons d’ID s’appliquent. Par exemple, pour ajouter la demande de
courriel aux jetons d’accès, le flux doit être déclenché avec une permission contenant le courriel.addressbirthdateemailemail_verifiedfamily_namegendergiven_namelocalemiddle_namenamenicknamephone_numberphone_number_verifiedpicturepreferred_usernameprofileupdated_atwebsitezoneinfo
Exemple
Module complémentaire SAML2 et protocole Web Service Federation (WS-Fed) avec règles d’Auth0
De la même manière que les règles Auth0 permettent de modifier l’objet utilisateur, les demandes de pré-migrationapp_metadata ou user_metadata fusionnent également le contenu lorsque la demande est définie sur l’objet context.idToken et que les noms sont en conflit. Pour en savoir plus sur les propriétés de l’objet, consultez Propriétés de l’objet utilisateur dans les règles.
Cependant, en utilisant des demandes personnalisées, Auth0 privilégie la demande qui a été définie sur l’objet context.idToken.
Ce changement a un impact sur les règles d’Auth0 qui définissent app_metadata et user_metadata via context.id_token (en leur assignant des objets) et qui, en même temps, utilisent ces champs dans le mappage d’attributs pour le module complémentaire ou le protocole (WS-Fed).
Exemple 1 : Auth0 ignore le mappage d’attributs lorsque context.idToken.app_metadata est défini avec un objet vide.
app_metadata dans context.id_token est prioritaire.
Ajouter des demandes privées, sans espace de noms, aux jetons
Le comportement des demandes personnalisées ne changera pas pour les membres du programme Bêta concerné. Cette fonctionnalité est déjà activée.
Exemple
Demandes privées, sans espace de noms, vers /userinfo
Auth0 renvoie désormais des demandes personnalisées privées, sans espace de noms, dans la réponse /userinfo lorsqu’elles sont définies sur des jetons d’ID.Exemple
Actions
Examiner les journaux de locataires
Vérifiez d’abord les avis de dépréciation dans les journaux de vos locataires afin de déterminer si votre locataire est concerné par la migration.- Naviguez vers Auth0 Dashboard > Surveillance > Journaux.
- Recherchez dans les journaux
type: depnote AND description: *Custom*claims*.
Exemple
Vérifiez d’abord les avis de dépréciation dans les journaux de vos locataires afin de déterminer si votre locataire est concerné par la migration.Correction des règles d’Auth0 pour le module complémentaire SAML2 et le protocole Web Service Federation (Ws-Fed)
Si vous définissez des demandesapp_metadata ou user_metadata sur l’objet context.idToken en utilisant le module complémentaire SAML2 ou le protocole Web Service Federation (Ws-Fed) avec les règles d’Auth0 ainsi que le mappage d’attributs, vous devrez mettre à jour votre configuration pour ajuster la façon dont Auth0 évalue les conflits de noms de demandes entre ces objets. Plusieurs solutions sont possibles :
-
Assurez-vous que le code de votre règle Auth0 privilégie toujours le contenu des objets définis sur
context.id_token: -
Si vous utilisez le module complémentaire SAML2 ou le mappage d’attributs du protocole Ws-Fed (Web Service Federation Protocol), évitez de définir des demandes
app_metadataouuser_metadatasur l’objetcontext.idToken. Remplacez ces demandes par des demandes avec espace de nom lorsque c’est possible : -
Utilisez une condition sur le protocole actuel ou sur le client actuel pour exclure les déclarations définissant
app_metadataouuser_metadatalorsque le protocole estsamlpouwsfed.
Désactiver le comportement hérité
Avant de désactiver l’ancien comportement, nous vous recommandons de consulter la liste des modifications et de vérifier que vos applications et intégrations sont compatibles.
- Naviguez vers Auth0 Dashboard > Paramètres du locataire > Avancé et recherchez Migrations.
- Utilisez la case à cocher pour désactiver l’option les demandes personnalisées doivent avoir un espace de nommage.