Connexion utilisateur
- Hosted Lock (Lock hébergé) : Utilisez une instance du gadget logiciel Lock, hébergé dans l’infrastructure Auth0.
- Embedded Lock (Lock intégré) : Intégrez le gadget logiciel Lock au sein d’une page Web de votre application. Vous disposez de quelques options de personnalisation pour le gadget logiciel Lock proprement dit et d’un contrôle total sur le reste du code HTML de la page.
- Custom UI (Interface utilisateur personnalisée) : Développez une page Web entièrement personnalisée pour l’écran de connexion. Le formulaire HTML personnalisé sera renvoyé à votre serveur qui, à son tour, authentifiera l’utilisateur à l’aide d’Authentication API. Pour plus d’informations sur l’utilisation d’une interface utilisateur personnalisée, consultez Personnaliser les pages de connexion classiques avec Lock ou une trousse SDK.
Automatiser Home Realm Discovery (HRD)
-
Identify the IdP programmatically (Identifier l’IdP par programmation) : Lorsque vous initiez une transaction d’authentification avec Auth0, vous avez l’option d’envoyer un paramètre
connection. Cette valeur correspond directement à toute connexion définie dans votre tableau de bord. Lorsque vous utilisez la version hébergée de Lock en appelant le point de terminaison/authorize, vous pouvez transmettre un paramètre de chaîne de requêteconnectioncontenant le nom de la connexion. Par ailleurs, si vous utilisez Lock hébergé, il vous suffit d’écrireauth0.show({connections: [’{yourConnection}’]});.- Il existe plusieurs façons pratiques d’obtenir la valeur
connection. L’une d’entre elles consiste à utiliser des URL de redirection vers un microsite : des employés de l’entreprise utiliseront par exemplehttps://internal.yoursite.com, alors que les fournisseurs externes utiliseronthttps://external.yoursite.com.
- Il existe plusieurs façons pratiques d’obtenir la valeur
-
Utiliser des domaines de courriel : Lock peut utiliser des domaines de courriel comme moyen d’acheminer les demandes d’authentification. Les connexions d’entreprise dans Auth0 peuvent être mappées à des
domaines. Si une connexion est configurée ainsi, le champ de saisie du mot de passe est automatiquement désactivé lorsqu’un utilisateur saisit une adresse courriel avec un domaine mappé. Notez que vous pouvez associer plusieurs domaines à une seule connexion.
Gestion des sessions
- Application Session (Session de l’application) : Cette première couche correspond à la session au sein de l’application. Même si votre application utilise Auth0 pour authentifier les utilisateurs, vous devrez toujours garder une trace du fait que l’utilisateur s’est connecté à votre application. Dans une application Web normale, cela se fait en stockant des informations dans un témoin.
- Auth0 session (Session Auth0) : Ensuite, Auth0 conservera également une session et stockera les informations relatives à l’utilisateur dans un témoin. La prochaine fois qu’un utilisateur sera redirigé vers l’écran de verrouillage Auth0, les informations de l’utilisateur seront mémorisées.
- Identity Provider session (Session du fournisseur d’identité) : Cette dernière couche est celle du fournisseur d’identité, par exemple Facebook ou Google. Si vous avez autorisé les utilisateurs à se connecter avec l’un de ces fournisseurs et qu’ils sont déjà connectés à ce fournisseur, ils n’ont pas besoin de se connecter. Il leur sera simplement demandé de donner l’autorisation de partager leurs informations avec Auth0 et, par conséquent, avec votre application.
Comment contrôler la durée de la session de l’application locale de l’utilisateur? Puis-je effectuer cela à partir d’Auth0?

- Initiate OIDC Authentication Flow (Initier le flux d’authentification OIDC) : Le navigateur de l’utilisateur enverra une demande à Auth0 pour initier le flux OIDC.
- Set SSO Cookie (Définir le témoin SSO) : Auth0 crée un témoin pour stocker les informations de l’utilisateur.
- Code exchange and return ID Token (Échanger le code et renvoyer le jeton d’ID) : Auth0 envoie une demande au serveur Web et renvoie le code. Le serveur Web échangera le code contre un jeton d’ID.
- Set auth cookie and send response (Définir le témoin d’authentification et envoyer la réponse) : Le serveur Web renvoie une réponse au navigateur et met en place le témoin d’authentification de l’application pour stocker les informations relatives à la session de l’utilisateur.
- Auth cookie sent with every subsequent request (Envoyer un témoin d’authentification à chaque demande suivante) : Le témoin d’authentification de l’application sera envoyé à chaque demande suivante pour prouver que l’utilisateur est authentifié.
Comment la session SSO d’Auth0 affecte-t-elle la session de l’application?

Déconnexion de l’utilisateur
- Application Session (Session de l’application) : Vous devez déconnecter l’utilisateur de votre application Web en effaçant sa session.
- Session Auth0 : Vous devez déconnecter l’utilisateur d’Auth0. Pour ce faire, vous redirigez l’utilisateur vers
https://{yourDomain}/v2/logout. En redirigeant l’utilisateur vers cette URL, vous effacez tous les témoins de l’authentification unique () définis par Auth0 pour l’utilisateur. - Identity Provider session (Session du fournisseur d’identité) : Bien que ce ne soit pas une pratique courante, vous pouvez forcer l’utilisateur à se déconnecter du fournisseur d’identité utilisé, par exemple Facebook ou Google. Pour ce faire, ajoutez un paramètre de chaîne de requête
federatedà l’URL de déconnexion :https://{yourDomain}/v2/logout?federated.
returnTo avec l’URL cible comme valeur : https://{yourDomain}/v2/logout?returnTo=http://www.example.com. Notez que vous devrez ajouter la valeur returnTo URL en tant qu’URL de déconnexion autorisées. Pour en savoir plus sur cette mise en œuvre, consultez : Déconnexion.
Le flux de déconnexion (excluant la déconnexion fédérée) se déroule comme suit :

- Initiate Logout Flow (Initier le flux de déconnexion) : Le flux de déconnexion est initié à partir du navigateur, par exemple lorsque l’utilisateur clique sur un lien de Logout (Déconnexion). Une demande sera adressée au serveur Web.
- Clear user’s local session (Effacer la session locale de l’utilisateur) : Le cache du témoin de session de l’application de l’utilisateur sera vidé.
- Redirect browser to Auth0 Logout (Rediriger le navigateur vers la déconnexion Auth0) : Le navigateur de l’utilisateur sera redirigé vers l’URL de déconnexion Auth0 URL.
- Clear SSO Cookie (Effacer le témoin SSO) : Auth0 videra le cache du témoin SSO.
- Rediriger vers l’URL après la déconnexion : Auth0 renvoie une réponse de redirection et redirige le navigateur de l’utilisateur vers le paramètre de chaîne de requête
returnTo.
Contrôle d’accès
- En configurant et en utilisant Auth0 Authorization Extension.
- En utilisant les groupes Active Directory. Ceux-ci peuvent être utilisés en combinaison avec Authorization Extension en faisant correspondre les groupes Active Directory aux groupes que vous définissez à l’aide de Authorization Extension.
- Ajouter des métadonnées au profil de l’utilisateur en utilisant des règles.
- En appelant un service externe à partir d’une règle.
Authorization Extension
À ce stade, l’extension d’autorisation est principalement conçue pour mettre en œuvre une autorisation à granularité grossière, par exemple pour contrôler l’accès à une application sur la base de l’appartenance d’un utilisateur à un groupe. Ce n’est pas nécessairement conçu pour contrôler l’accès au niveau le plus fin (par exemple, si un utilisateur peut effectuer une action particulière au sein de l’application), même si c’est ainsi que nous l’utilisons dans ce cas.
Admin qui leur permettra d’approuver les feuilles de temps. Authorization Extension permet d’associer des groupes à des membres de groupes existants.
Tous les administrateurs de feuilles de temps seront affectés au groupe Timesheet Administrators sur Active Directory, qui sera automatiquement mappé au groupe Admin à l’intérieur de l’application Feuilles de temps.
Lorsque vous installez Authorization Extension, elle crée une règle en arrière-plan, qui fait ce qui suit :
- Détermine l’appartenance de l’utilisateur à un groupe.
- Stocke les informations sur l’appartenance de l’utilisateur à un groupe dans les
app_metadata. - Ajoute l’appartenance au groupe de l’utilisateur au jeton sortant.
- Vérifie que l’utilisateur a obtenu l’accès à l’application active.

Timesheet Admins au groupe Admin que vous venez de créer.


Timesheet Admins dans Active Directory, et ces utilisateurs seront automatiquement mappés vers le groupe Admin au sein de notre application.
Pour en savoir plus, consultez la documentation relative à Authorization Extension.
Faire appliquer les autorisations dans votre application
authorization avec tous les paramètres liés à l’autorisation pour un utilisateur particulier. Les groupes d’un utilisateur seront ajoutés en tant que sous-demande de la demande authorization appelée groups et tous les groupes auxquels un utilisateur appartient seront ajoutés en tant que tableau à cette demande. Voici un exemple de ce à quoi peut ressembler la charge utile JSON d’un jeton d’ID avec les groupes énumérés :
authorization. Vous pouvez ensuite stocker ces groupes, ainsi que d’autres informations relatives à l’utilisateur, dans la session de l’utilisateur, et les interroger par la suite pour déterminer si un utilisateur a le droit d’effectuer une certaine action en fonction de son appartenance à un groupe.
Voir l’implémentation dans ASP.NET Core.