Pratique exemplaireBien qu’Auth0 prenne en charge de nombreux flux d’authentification, ceux 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. Il est également important de noter que la nouvelle expérience Universal Login est 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 Auth0 Tenant ; 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 propres à chaque organisation sont absolument nécessaires, plusieurs Auth0 Tenants devront être déployés en production. Comme l’utilisation de plusieurs tenants a des répercussions sur l’authentification unique (SSO), la gestion des profils d’utilisateurs, etc., vous devriez réfléchir attentivement avant d’emprunter cette voie.
Connexion à la 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 témoin 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 n’irons pas plus loin. Pour en savoir plus, consultez Single Sign-On.
-
L’instance de Travel0 Corporate Booking de Hoekstra & Associates redirige vers le locataire Auth0 de Travel0 au moyen du flux du code d’autorisation (avec ou sans PKCE), en appelant le point de terminaison
/authorizeet en transmettant des paramètres, généralement à l’aide d’un SDK Auth0 ou d’une bibliothèque tierce :-
redirect_uri:https://hoekstra.corp.travel0.net/login/callback -
response_type:code -
state: state unique généré au cours de cette session -
scope:openid profile… - toute portée OIDC supplémentaire nécessaire, selon les renseignements requis sur l’utilisateur.
-
client_id: identifiant client associé à l’application créée dans le tenant Auth0 Travel0 pour l’instance de Travel0 Corporate Booking de Hoekstra & Associates. -
organization: organisation Auth0 à utiliser. Lorsque l’organisation est connue à l’avance, une requête à/authorizepeut inclure ce paramètre, indiqué sous la formeorganization=organization_id, où organization_id correspond à l’identifiant associé à la définition de l’organisation Auth0 correspondante dans votre tenant Auth0. Vous pouvez également omettre le paramètreorganizationdans l’appel à/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 Define Organization Behavior.
-
-
Le tenant Auth0 de Travel0 redirige vers
/loginpour recueillir les identifiants de l’utilisateur. Si Jennifer a déjà une session de base de données avec Hoekstra & Associates, les étapes 3a et 4 seront sautées. Pour en savoir plus, consultez l’authentification unique.- La page Universal Login, que vous pouvez configurer pour y inclure des éléments de marque propres à l’organisation, comme décrit dans Branding, s’affiche.
-
L’utilisateur entre 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 règles peuvent servir à gérer le contrôle d’accès, comme décrit dans Authorization. Si les identifiants de l’utilisateur ne sont pas valides, on lui demandera de les saisir à nouveau.
L’attribution automatique de l’appartenance sera effectuée si cette option a été spécifiée. Pour en savoir plus, consultez Accorder une adhésion juste à temps à une connexion d’organisation. Pour l’adhésion 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 appelle le tenant Auth0 de Travel0 à l’adressehttps://auth.travel0.net/oauth/token, en transmettant lecodeainsi que sonclient idet sonclient secreten échange du jeton d’identité. Le jeton d’identité est ensuite utilisé pour générer une session pourhttps://hoekstra.corp.travel0.net. - L’instance de Travel0 Corporate Booking de Hoekstra & Associates affiche à l’utilisateur la page appropriée.
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 en utilisant le flux de code d’autorisation (avec ou sans PKCE) en appelant le point de terminaison
/authorizeet en transmettant des paramètres, généralement au moyen d’un SDK Auth0 ou d’une bibliothèque tierce :-
redirect_uri:https://metahexa.corp.travel0.net/login/callback -
response_type:code -
state: paramètre d’état unique généré dans 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 MetaHexa Bank. -
organization: organisation Auth0 à utiliser. Lorsque l’organisation est connue d’avance, une requête à/authorizepeut inclure ce paramètre, précisé sous la formeorganization=organization_id, où organization_id correspond à l’identifiant associé à la définition de l’organisation Auth0 correspondante dans votre tenant Auth0. Sinon, vous pouvez omettre le paramètreorganizationdans l’appel à/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 de l’organisation. -
connection: nom de la connexion d’entreprise Auth0 configurée pour MetaHexa Bank.pratique exemplaireFournissez toujours le paramètreconnection. Lorsqu’il n’est pas fourni, l’utilisateur est invité à sélectionner la connexion d’entreprise associée au fournisseur d’identité (IdP) en amont, 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 afin d’authentifier les identifiants du premier facteur.
- La page de connexion s’affiche, et l’utilisateur saisit ses identifiants. 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 identifiants et clique sur
login. - Une fois l’authentification du premier facteur réussie, le pipeline de Rules s’exécute. Les Rules peuvent être utilisées pour gérer le contrôle d’accès, comme décrit dans Autorisation. Si les identifiants de l’utilisateur ne sont pas valides, l’utilisateur sera invité à les saisir de nouveau.
L’attribution automatique de l’adhésion sera effectuée si cette option a été spécifiée. Pour en savoir plus, consultez Accorder une adhésion juste-à-temps à une connexion d’organisation. Pour une adhésion 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 au moyen d’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 façon cohérente pour chaque organisation. Même s’il peut être tentant de modéliser l’isolation des utilisateurs en créant plusieurs connexions vers un fournisseur social, par exemple en utilisant des connexions sociales personnalisées, il faut é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.