Pratique exemplaireBien que de nombreux flux de travail d’authentification soient pris en charge dans Auth0, les flux de travail qui utilisent Auth0 Universal Login sont considérés comme une pratique exemplaire, tant dans l’industrie que chez Auth0, puisqu’ils offrent une fonctionnalité et une sécurité optimales. Plus précisément, Universal Login offre l’authentification unique (SSO) prête à l’emploi et aide à atténuer des attaques comme l’hameçonnage et la bucket brigade ; pour cette raison, il devrait être privilégié partout où un utilisateur fournit des identifiants de mot de passe. Surtout, la nouvelle expérience Universal Login est aussi le seul mécanisme pris en charge lors de l’utilisation de la fonctionnalité Auth0 Organizations.
Auth0 ne prend en charge qu’un seul contexte d’utilisateur authentifié par tenant Auth0; les tenants ne peuvent pas passer sélectivement d’un contexte d’utilisateur authentifié à un autre. Un changement de contexte utilisateur a une incidence sur toute session SSO active, et cela s’applique aussi à la fonctionnalité Auth0 Organizations. Si des contextes par organisation sont absolument nécessaires, plusieurs tenants Auth0 devront alors être déployés en production. Comme l’utilisation de plusieurs tenants a des répercussions sur l’authentification unique (SSO), la gestion du profil utilisateur, entre autres, vous devriez y réfléchir soigneusement avant d’emprunter cette voie.
Connexion de base de données

-
Jennifer, de Hoekstra & Associates, ouvre son navigateur et accède à l’instance de Travel0 Corporate Booking de Hoekstra & Associates.
- Si Jennifer a déjà un cookie de session avec l’instance de Travel0 Corporate Booking de Hoekstra & Associates, elle sera généralement déjà connectée au système, et nous nous arrêterons là. Pour en savoir plus, consultez Authentification unique.
-
L’instance Travel0 Corporate Booking de Hoekstra & Associates redirige vers le tenant Auth0 de Travel0 au moyen du flux de code d’autorisation (avec ou sans PKCE) en appelant le point de terminaison
/authorizeet en y transmettant des paramètres, généralement au moyen d’un Auth0 SDK ou d’une bibliothèque tierce :-
redirect_uri:https://hoekstra.corp.travel0.net/login/callback -
response_type:code -
state: paramètre state unique généré pour cette session -
scope:openid profile… - tout scope OIDC supplémentaire nécessaire, selon les renseignements requis sur l’utilisateur.
-
client_id: ID client associé à l’application créée dans le tenant Auth0 de Travel0 pour l’instance de Travel0 Corporate Booking de Hoekstra & Associates. -
organization: Auth0 Organization à utiliser. Lorsque l’organisation est connue à l’avance, une requête à/authorizepeut inclure ce paramètre, qui est spécifié sous la formeorganization=organization_id, où organization_id correspond à l’identifiant associé à la définition Auth0 Organization correspondante dans votre tenant Auth0. Vous pouvez aussi omettre le paramètreorganizationde la requête à/authorizeet configurer votre tenant Auth0 pour inviter l’utilisateur à sélectionner l’organisation appropriée dans le cadre du premier facteur d’authentification. Pour en savoir plus, consultez Define Organization Behavior.
-
-
Le tenant Auth0 Travel0 redirige vers
/loginpour recueillir les informations d’authentification de l’utilisateur. Si Jennifer a déjà une session Database avec Hoekstra & Associates, les étapes 3a et 4 seront ignorées. Pour en savoir plus, consultez l’authentification unique.- La page Universal Login, que vous pouvez configurer pour y inclure des éléments d’image de marque propres à l’organisation, comme décrit dans Branding, s’affiche.
-
L’utilisateur saisit ses identifiants et clique sur
login. -
Le tenant Auth0 Travel0 vérifie les identifiants de l’utilisateur; s’ils sont valides, le pipeline Rules s’exécute. Les Rules peuvent être utilisées pour gérer le contrôle d’accès, comme décrit dans Authorization. Si les identifiants de l’utilisateur sont invalides, l’utilisateur sera invité à les saisir à nouveau.
L’appartenance sera attribuée automatiquement si cette option est spécifiée. Pour en savoir plus, consultez Accorder une appartenance juste-à-temps à une connexion d’organisation. Pour une appartenance attribuée manuellement, la validation échouera si l’utilisateur n’est pas déjà membre de l’organisation.
-
Après l’authentification réussie du premier facteur et l’exécution des Rules, l’utilisateur est redirigé vers le
redirect_uri(https://hoekstra.corp.travel0.net/login/callback) avec lestatetransmis à l’étape 2, ainsi qu’uncode. -
L’instance de Travel0 Corporate Booking de Hoekstra & Associates valide le
state, puis envoie une requête au tenant Auth0 de Travel0 à l’adressehttps://auth.travel0.net/oauth/token, en transmettant lecodeainsi que sonclient idet sonclient secreten échange de l’ID Token. L’ID Token est ensuite utilisé pour générer une session pourhttps://hoekstra.corp.travel0.net. - L’instance de Travel0 Corporate Booking de Hoekstra & Associates affiche ensuite la page appropriée à l’utilisateur.
Connexion d’entreprise

-
Amintha de MetaHexa Bank ouvre son navigateur et accède à l’instance de Travel0 Corporate Booking de MetaHexa Bank.
- Si Amintha a déjà un témoin de session avec l’instance de Travel0 Corporate Booking de MetaHexa Bank, elle sera généralement déjà connectée au système, et nous nous arrêterons ici. Pour en savoir plus, consultez Authentification unique.
-
L’instance de Travel0 Corporate Booking de MetaHexa Bank redirige vers le tenant Auth0 de Travel0 à l’aide du flux Authorization Code (avec ou sans PKCE) en appelant le endpoint
/authorizeet en transmettant des paramètres, généralement au moyen d’un Auth0 SDK ou d’une bibliothèque tierce :-
redirect_uri:https://metahexa.corp.travel0.net/login/callback -
response_type:code -
state: state unique généré pour cette session -
scope:openid profile… - tout scope OIDC supplémentaire nécessaire, selon les renseignements requis au sujet de l’utilisateur.
-
client_id: ID client associé à l’application créée dans le tenant Auth0 de Travel0 pour l’instance de Travel0 Corporate Booking de MetaHexa Bank. -
organization: Auth0 organisation à utiliser. Lorsque l’organisation est connue à l’avance, une requête à/authorizepeut inclure ce paramètre, qui est indiqué sous la formeorganization=organization_id, où organization_id correspond à l’identifiant associé à la définition Auth0 organisation correspondante dans votre tenant Auth0. Sinon, vous pouvez omettre le paramètreorganizationde la requête à/authorizeet configurer votre tenant Auth0 pour inviter l’utilisateur à sélectionner l’organisation appropriée dans le cadre de l’authentification du premier facteur. Pour en savoir plus, consultez Définir le comportement des organisations. -
connection: Nom de la Connexion d’entreprise Auth0 configurée pour MetaHexa Bank.Bonne pratiqueFournissez toujours le paramètreconnection. S’il n’est pas fourni, l’utilisateur est invité à sélectionner la Connexion d’entreprise associée au fournisseur d’identité en amont (IdP), ce qui ajoute une étape du point de vue de l’expérience utilisateur.
-
-
Le tenant Auth0 de Travel0 redirige vers l’IdP de MetaHexa pour authentifier les informations d’identification du premier facteur.
- La page de connexion s’affiche, et l’utilisateur saisit ses informations d’identification. Si Amintha a déjà une session avec l’IdP de MetaHexa, les étapes 3a et 4 seront ignorées. Pour en savoir plus, consultez Authentification unique (SSO).
-
L’utilisateur saisit ses informations d’identification et clique sur
login. - Une fois l’authentification du premier facteur réussie, le pipeline Rules s’exécute. Les Rules peuvent être utilisées pour gérer le contrôle d’accès comme décrit dans Authorization. Si les informations d’identification de l’utilisateur ne sont pas valides, l’utilisateur sera invité à les saisir de nouveau.
L’appartenance sera attribuée automatiquement si cette option a été spécifiée. Pour en savoir plus, consultez Accorder une appartenance juste-à-temps à une connexion d’organisation. Pour une appartenance attribuée manuellement, la validation échouera si l’utilisateur n’est pas déjà membre de l’organisation.
metahexa.corp.travel0.net) sera utilisée à la place de Hoekstra & Associates.
L’authentification par une connexion sociale suit un modèle semblable à celui d’une Connexion d’entreprise, sauf que l’IdP en amont est associé au fournisseur social plutôt qu’à une organisation en particulier.
Avec les connexions sociales, l’isolation des utilisateurs ne peut pas être modélisée de manière cohérente pour chaque organisation. Même s’il peut être tentant de modéliser l’isolation des utilisateurs en créant plusieurs connexions pour un fournisseur social, par exemple au moyen de connexions sociales personnalisées, vous devriez éviter de le faire; une telle stratégie peut entraîner la création du même ID utilisateur dans plusieurs définitions de connexion, ce qui finira inévitablement par causer des problèmes.