Utilisez l’IA pour intégrer Auth0
Utilisez l’IA pour intégrer Auth0
- SDK .NET 8.0 ou version ultérieure (ou .NET Framework 4.6.2 pour les projets Legacy)
- Visual Studio 2022 ou VS Code avec le C# Dev Kit
Pour commencer
Créez votre application
- .NET CLI
- Visual Studio
- WPF
- WinForms
Configurer Auth0
Configurer une application
Accédez à Auth0 Dashboard → Applications → Applications et créez une nouvelle application :- Cliquez sur Create Application
- Saisissez un nom pour votre application
- Sélectionnez Native comme type d’application
- Cliquez sur Create
Configurer les URL de rappel
Une URL de rappel est une URL de votre application vers laquelle Auth0 redirige les utilisateurs après leur authentification. Si elle n’est pas définie, les utilisateurs ne seront pas redirigés vers votre application après s’être connectés.Dans vos Application Settings, ajoutez ce qui suit à Allowed Callback URLs :Configurer les URL de déconnexion
Une URL de déconnexion est une URL de votre application vers laquelle Auth0 redirige les utilisateurs une fois déconnectés. Si elle n’est pas définie, les utilisateurs ne pourront pas se déconnecter de votre application et verront un message d’erreur.Dans les Paramètres de l’application, ajoutez ce qui suit aux URL de déconnexion autorisées :Installer le SDK Auth0
- Gestionnaire de packages NuGet
- .NET CLI
Créer une instance d’Auth0Client
Auth0Client à l’aide de votre Domain Auth0 et de votre Client ID. Ajoutez un champ privé et initialisez-le dans le constructeur existant de votre fenêtre principale ou de votre formulaire.- WPF
- WinForms
MainWindow.xaml.cs et mettez-le à jour comme suit :Ajouter la connexion à votre application
LoginAsync() du SDK pour permettre aux utilisateurs de se connecter. Lorsqu’elle est appelée, elle ouvre une fenêtre contextuelle contenant la page Auth0 Universal Login. Après une authentification réussie, Auth0 redirige vers l’URL de rappel, et le SDK renvoie un LoginResult.D’abord, ajoutez un bouton de connexion à votre interface utilisateur :- WPF
- WinForms
MainWindow.xaml et ajoutez un Button à l’intérieur de <Grid> :MainWindow.xaml.cs :LoginResult.User, LoginResult.IdentityToken, LoginResult.AccessToken et LoginResult.RefreshToken dans le résultat.Ajouter la déconnexion à votre application
LogoutAsync() du SDK pour déconnecter les utilisateurs. Cela ouvre une fenêtre contextuelle, redirige vers le point de terminaison de logout d’Auth0 pour effacer la session, puis redirige de nouveau vers l’URL de logout que vous avez configurée.Commencez par ajouter un bouton de déconnexion à votre interface utilisateur :- WPF
- WinForms
MainWindow.xaml et ajoutez un Button de déconnexion à côté du bouton de connexion :MainWindow.xaml.cs :Afficher les renseignements du profil utilisateur
LoginResult.User est un ClaimsPrincipal qui contient le profil de l’utilisateur authentifié. Interrogez les claims afin d’afficher les renseignements sur l’utilisateur dans votre application.- Un clic sur le bouton de connexion ouvre la page Auth0 Universal Login dans une fenêtre contextuelle.
- Vous pouvez vous connecter ou vous inscrire.
- Après l’authentification, vous pouvez accéder aux renseignements de l’utilisateur dans
LoginResult.User. - Un clic sur le bouton de déconnexion met fin à la session et redirige vers votre URL de déconnexion.
Utilisation avancée
Gérer les erreurs de connexion
Gérer les erreurs de connexion
LoginResult.IsError avant d’accéder aux jetons ou aux propriétés de l’utilisateur. Les propriétés Error et ErrorDescription contiennent des renseignements lorsque l’authentification échoue.LoginAsync() renvoie un résultat avec BrowserResultType.UserCancel. Il s’agit d’un comportement attendu — ne le traitez pas comme une erreur.Jetons d’actualisation
Jetons d’actualisation
RefreshTokenAsync() avec le jeton d’actualisation du LoginResult initial.offline_access et doivent être activés dans les Application Settings de votre application Auth0, sous Refresh Token Rotation.Ressources supplémentaires
Dépôt du SDK
Profils utilisateur
Forum communautaire
Problèmes courants
La fenêtre contextuelle de connexion s’ouvre, mais l’authentification ne se termine jamais
La fenêtre contextuelle de connexion s’ouvre, mais l’authentification ne se termine jamais
Erreur de non-correspondance de l’URL de rappel
Erreur de non-correspondance de l’URL de rappel
callback URL mismatch.Solution : La Redirect URI utilisée par le SDK ne correspond à aucune des valeurs dans Allowed Callback URLs de votre Auth0 Dashboard. Ajoutez https://{yourDomain}/mobile à Allowed Callback URLs dans vos Application Settings. Le SDK utilise cette URL par défaut.Erreur de non-correspondance de l’URL de déconnexion
Erreur de non-correspondance de l’URL de déconnexion
https://{yourDomain}/mobile à Allowed Logout URLs dans vos Application Settings.LoginResult.IsError est true après la connexion
LoginResult.IsError est true après la connexion
LoginResult.IsError est true, mais la cause n’est pas clairement indiquée.Solution : Vérifiez LoginResult.Error et LoginResult.ErrorDescription pour plus de détails :- Le type d’Application dans l’Auth0 Dashboard n’est pas défini sur Native
- OIDC Conformant n’est pas activé dans Advanced Settings → OAuth
- L’algorithme de signature JSON Web Token n’est pas défini sur RS256
RefreshToken est null après la connexion
RefreshToken est null après la connexion
LoginResult.RefreshToken est null.Solution : Le scope offline_access est requis pour recevoir un jeton d’actualisation. Ajoutez-le à l’option Scope :