Utiliser l’IA pour intégrer Auth0
Utiliser l’IA pour intégrer Auth0
- .NET 8.0 SDK ou version ultérieure (ou .NET Framework 4.6.2 pour les projets existants)
- Visual Studio 2022 ou VS Code avec le kit de développement C#
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 leur connexion.Dans les paramètres de votre application, 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 après leur déconnexion. Si elle n’est pas définie, les utilisateurs ne pourront pas se déconnecter de votre application et recevront un message d’erreur.Dans les paramètres de votre application, ajoutez les éléments suivants à Allowed Logout URLs :Installer le SDK d’Auth0
- Gestionnaire de packages NuGet
- .NET CLI
Créer une instance d’Auth0Client
Auth0Client avec votre Domaine Auth0 et votre ID client. 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 :Ajoutez l’authentification à votre application
LoginAsync() du SDK pour ouvrir une session utilisateur. Lorsqu’elle est appelée, elle ouvre une fenêtre contextuelle affichant la page Universal Login d’Auth0. Une fois l’authentification réussie, Auth0 redirige vers l’URL de rappel et le SDK renvoie un LoginResult.Commencez par ajouter un bouton de connexion à votre interface utilisateur :- WPF
- WinForms
MainWindow.xaml et ajoutez un Button dans <Grid> :MainWindow.xaml.cs :LoginResult.User, LoginResult.IdentityToken, LoginResult.AccessToken et LoginResult.RefreshToken dans le résultat.Ajoutez la déconnexion à votre application
LogoutAsync() du SDK pour déconnecter les utilisateurs. Cette opération ouvre une fenêtre contextuelle, redirige vers le point de terminaison de déconnexion d’Auth0 pour supprimer la session, puis vous redirige vers l’URL de déconnexion 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 informations du profil de l’utilisateur
LoginResult.User est un ClaimsPrincipal contenant le profil de l’utilisateur authentifié. Examinez les revendications pour afficher les renseignements sur l’utilisateur dans votre application.- Un clic sur le bouton de connexion ouvre la page Universal Login d’Auth0 dans une fenêtre contextuelle.
- Vous pouvez vous connecter ou vous inscrire.
- Après l’authentification, vous pouvez accéder aux informations de l’utilisateur depuis
LoginResult.User. - Un clic sur le bouton de déconnexion efface la session et vous 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 fournissent plus de détails lorsque l’authentification échoue.LoginAsync() renvoie un résultat avec BrowserResultType.UserCancel. Ce comportement est attendu — ne le traitez pas comme une erreur.Jetons d’actualisation
Jetons d’actualisation
RefreshTokenAsync() avec le jeton d’actualisation obtenu dans le LoginResult initial.offline_access et doivent être activés dans les paramètres de votre application Auth0, sous Refresh Token Rotation.Ressources supplémentaires
Dépôt du SDK
Profils d’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 : L’URI de redirection utilisée par le SDK ne correspond à aucune des valeurs configurées dans Allowed Callback URLs de l’Auth0 Dashboard. Ajoutez https://{yourDomain}/mobile à Allowed Callback URLs dans les paramètres de votre application. 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 les paramètres de votre application.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é sous Advanced Settings → OAuth
- JSON Web Token Signature Algorithm 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 :