Comment fonctionne l’évaluation des URL
{organization_name} ne sera évaluée que si toutes les conditions suivantes sont remplies :
- L’application a
organization_usagedéfini surallowourequire - Une transaction a été effectuée dans le contexte d’une organisation (par exemple, en lançant une transaction d’autorisation avec le paramètre
organization:/authorize?organization=org_bVss9Do3994SIbiH&…)
{organization_name} seront évaluées en plus des URL à correspondance exacte (https://app.exampleco.com) et des URL avec caractères génériques (https://*.exampleco.com). Vous ne devez pas présumer d’un ordre d’évaluation particulier des URL.
Évitez d’enregistrer, dans le même champ de configuration d’une application, des URL contenant à la fois des caractères génériques et des espaces réservés d’organisation, car cela peut entraîner un comportement indésirable et compliquer le dépannage. Par exemple, prenons une application avec deux Allowed Callback URLs : https://*.exampleco.com et https://{organization_name}.exampleco.com. Un redirect_uri ayant la valeur https://company-a.exampleco.com serait considéré comme valide même si aucune organisation nommée company-a n’était enregistrée dans votre locataire; cela est dû à l’évaluation du caractère générique.
Espaces réservés de caractère générique dans les URL
{organization_name} lorsqu’approprié.
Gérez ces paramètres dans Auth0 Dashboard > Applications > Applications dans les champs suivants :
- Allowed Callback URLs : Liste des URL vers lesquelles Auth0 est autorisé à rediriger les utilisateurs après leur authentification.
- Allowed Logout URLs : Liste des URL vers lesquelles vous pouvez rediriger les utilisateurs après leur déconnexion d’Auth0.
- Allows Web Origins : Liste des URL d’où peut provenir une demande d’autorisation utilisant l’authentification inter-origine, le flux d’appareil et web_message comme mode de réponse.
- Allowed Origins (CORS) : Liste des URL autorisées à effectuer des requêtes en JavaScript vers l’API Auth0 (généralement avec CORS).
*) comme caractère générique pour les sous-domaines, mais il doit respecter les règles suivantes pour fonctionner correctement :
- Le protocole de l’URL doit être
httpouhttps. Les protocoles commecom.example.appetservice:jmx:rmine fonctionneront pas. - Le caractère générique doit se trouver dans un sous-domaine du composant de nom d’hôte.
https://*.comne fonctionnera pas. - Le caractère générique doit se trouver dans le sous-domaine le plus éloigné du domaine racine.
https://sub.*.example.comne fonctionnera pas. - L’URL ne doit pas contenir plus d’un caractère générique.
https://*.*.example.comne fonctionnera pas. - Le caractère générique peut être précédé ou suivi d’autres caractères valides du nom d’hôte.
https://prefix-*-suffix.example.comfonctionnera. - Une URL avec un caractère générique valide ne correspondra pas à une URL comportant plus d’un niveau de sous-domaine à la place du caractère générique.
https://*.example.comne fonctionnera pas avechttps://sub1.sub2.example.com.
Espaces réservés dans l’URL de l’Organisation
Espace réservé pour le nom de l’organisation
{organization_name} comme espace réservé pour indiquer dynamiquement le nom d’une organisation enregistrée dans une URL (https://{organization_name}.exampleco.com). Les URL contenant l’espace réservé {organization_name} ne doivent être utilisées que sur des domaines que vous contrôlez entièrement. Par exemple : si vous contrôlez le domaine exampleco.com, l’espace réservé avec le nom de votre organisation est https://{organization_name}.exampleco.com.
Gérez ces paramètres dans Auth0 Dashboard > Applications > Applications, dans les champs suivants :
- Allowed Callback URLs : Liste des URL vers lesquelles Auth0 est autorisé à rediriger les utilisateurs après leur authentification.
- Allowed Origins (CORS) : Liste des URL autorisées à effectuer des requêtes en JavaScript vers l’API Auth0 (généralement utilisée avec CORS).
{organization_name} :
- Le protocole de l’URL doit être
http:ouhttps:.com.example.app://{organization_name}.exampleco.comne fonctionnera pas. - L’espace réservé doit se trouver dans un sous-domaine du nom d’hôte.
https://{organization_name}ouhttps://exampleco.com/{organization_name}ne fonctionneront pas. - L’espace réservé doit se trouver dans le sous-domaine le plus éloigné du domaine racine.
https://sub.{organization_name}.exampleco.comne fonctionnera pas. - L’URL ne doit pas contenir plus d’un espace réservé.
https://{organization_name}.{organization_name}.exampleco.comne fonctionnera pas. - Un espace réservé ne doit pas être précédé ou suivi d’autres caractères valides de nom d’hôte.
https://prefix-{organization_name}-suffix.exampleco.comne fonctionnera pas. - Un espace réservé ne doit pas être utilisé avec un caractère générique dans l’URL.
https://{organization_name}.*.exampleco.comne fonctionnera pas.
Espace réservé de métadonnées d’Organisation
{organization.metadata.KEY} comme espace réservé pour spécifier dynamiquement une URL en fonction des métadonnées associées à l’Organisation dans la requête en cours. Cela est utile lorsque différentes Organisations nécessitent différentes URI de connexion, par exemple lorsque chaque Organisation correspond à un domaine personnalisé distinct.
Le KEY doit commencer par public_ ou PUBLIC_ (par exemple, {organization.metadata.public_login_host}). Les clés sans ce préfixe sont ignorées dans l’environnement d’exécution pour des raisons de sécurité.
Auth0 prend en charge cet espace réservé pour l’URI de connexion de l’application (initiate_login_uri). Pour en savoir plus, consultez URI de connexion dynamiques avec des espaces réservés de métadonnées.
Les mêmes règles de validation qui s’appliquent aux espaces réservés de domaine personnalisé s’appliquent également aux espaces réservés de métadonnées d’Organisation (protocole, emplacement, imbrication, aucun caractère générique, type de données).
Les espaces réservés de métadonnées d’Organisation nécessitent que la requête soit dans le contexte d’une Organisation. Si aucune organisation n’est présente, l’espace réservé ne peut pas être résolu et Auth0 utilise la valeur
default_redirection_uri du locataire.Espaces réservés d’URL pour domaine personnalisé
{custom_domain.metadata.KEY} comme espace réservé pour définir dynamiquement une URL en fonction des métadonnées associées au domaine personnalisé utilisé dans la requête. Cela vous permet de prendre en charge plusieurs domaines personnalisés avec différentes URL d’application au sein du même locataire.
Pour un aperçu complet de cette fonctionnalité, consultez Domaines personnalisés multiples
Règles de validation
- Préfixe public requis : la clé de métadonnées utilisée dans l’espace réservé doit commencer par
public_ouPUBLIC_(par exemple,{custom_domain.metadata.public_callback_subdomain}). Les clés sans ce préfixe sont ignorées dans l’environnement d’exécution pour des raisons de sécurité.- Protocole : le protocole de l’URL doit être
httpouhttps. - Emplacement : l’espace réservé doit se trouver dans la partie domaine ou sous-domaine. Il ne peut pas être utilisé dans le chemin de l’URL.
- Valide :
https://{custom_domain.metadata.public_app_url}.example.com/login - Invalide :
https://example.com/{custom_domain.metadata.public_path}
- Valide :
- Imbrication : vous ne pouvez pas accéder à des propriétés de métadonnées imbriquées. Seules les clés de premier niveau sont prises en charge.
- Aucun caractère générique : un espace réservé de domaine personnalisé ne doit pas être utilisé conjointement avec un caractère générique (
*) dans la même URL. - Type de données : la valeur des métadonnées du domaine personnalisé doit être une String. Si la clé n’existe pas ou si la valeur n’est pas une String, l’URL est ignorée pendant la validation.
- Protocole : le protocole de l’URL doit être
Champs pris en charge
- Allowed Callback URLs
- Allowed Logout URLs
- Origines Web autorisées
- Allowed Origins (CORS)
- URI de connexion de l’application (
initiate_login_uri). Pour en savoir plus, consultez URI de connexion dynamiques avec des espaces réservés de métadonnées.
Les espaces réservés de domaine personnalisé ne sont pas pris en charge pour les applications tierces.
Utilisation avec les espaces réservés d’organisation
{organization_name}, à condition que votre flux le prenne en charge. Les deux espaces réservés sont évalués et remplacés à l’exécution.