Skip to main content
Ce Quickstart est actuellement en bêta. Nous aimerions beaucoup connaître votre avis!

Utiliser l’IA pour intégrer Auth0

Si vous utilisez un assistant IA de codage comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter automatiquement l’authentification Auth0 en quelques minutes à l’aide d’Agent Skills.Installer :
Demandez ensuite à votre assistant IA :
Votre assistant IA créera automatiquement votre API Auth0, récupérera les informations d’identification, installera le SDK Auth0 ASP.NET Core Authentication API, configurera l’authentification JWT Bearer et implémentera des points de terminaison d’API protégés. Documentation complète sur Agent Skills →
Prérequis : Avant de commencer, assurez-vous d’avoir installé les éléments suivants :
  • .NET 8.0 SDK ou une version ultérieure
  • L’IDE de votre choix (Visual Studio 2022, VS Code ou Rider)
Compatibilité des versions de .NET : Ce Quickstart fonctionne avec .NET 8.0 et les versions ultérieures.

Pour commencer

Ce Quickstart montre comment ajouter l’authentification JWT d’Auth0 à une API Web ASP.NET Core. Vous allez créer une API sécurisée avec des points de terminaison protégés à l’aide du SDK d’API ASP.NET Core d’Auth0.
1

Créer un nouveau projet

Créez un nouveau projet ASP.NET Core Web API pour ce Quickstart
Ouvrir le projet
2

Installez le SDK Auth0

3

Configurez votre API Auth0

Ensuite, vous devez créer une nouvelle API sur votre tenant Auth0 et ajouter la configuration à votre projet.Vous pouvez effectuer cette opération automatiquement en exécutant une commande CLI ou le faire manuellement via le Dashboard :
Exécutez la commande shell suivante à la racine de votre projet pour créer une API Auth0 et mettre à jour votre fichier appsettings.json :
4

Configurer l’authentification

Remplacez l’intégralité du contenu de Program.cs par le code suivant :
Program.cs
5

Créer des points de terminaison publics et protégés

Ajoutez des points de terminaison pour tester l’authentification. Ajoutez le code suivant dans Program.cs avant app.Run() :
Program.cs
6

Lancez votre API

Votre API fonctionne maintenant à l’adresse https://localhost:7190 (ou une URL semblable - vérifiez la sortie de la console pour l’URL exacte).
Étape de vérificationVous devriez maintenant disposer d’une API protégée par Auth0, pleinement fonctionnelle, sur votre localhost

Utilisation avancée

Testez vos points de terminaison protégés avec un jeton d’accès.1. Obtenez un jeton d’accès auprès d’Auth0 à l’aide du flux Client Credentials :
Pour obtenir YOUR_CLIENT_ID et YOUR_CLIENT_SECRET, créez une Machine to Machine Application dans le Auth0 Dashboard et autorisez-la pour votre API.
2. Testez le point de terminaison public (devrait renvoyer 200 OK) :
3. Testez le point de terminaison protégé sans authentification (devrait renvoyer 401 Unauthorized) :
4. Faites une requête au point de terminaison protégé avec le jeton :
Pour les API plus volumineuses, utilisez des contrôleurs plutôt que des points de terminaison d’API minimaux.1. Ajoutez la prise en charge des contrôleurs :
Program.cs
2. Créez un contrôleur :Créez Controllers/MessagesController.cs :
Controllers/MessagesController.cs
Protégez les points de terminaison en fonction de scopes précis dans le jeton d’accès.1. Définissez des scopes dans votre Auth0 API :Dans le Auth0 Dashboard → APIs → Your API → Permissions, ajoutez des scopes :
  • read:messages - Lire les messages
  • write:messages - Écrire des messages
2. Configurez les politiques d’autorisation :
Program.cs
3. Appliquez les politiques aux points de terminaison :
Lorsque vous demandez un jeton d’accès, incluez le scope requis :
DPoP (Demonstration of Proof-of-Possession) lie les jetons d’accès à des clés cryptographiques, ce qui empêche le vol de jetons et les attaques par rejeu.Activer la prise en charge de DPoP :
Program.cs
Modes DPoP :Accepter à la fois les jetons DPoP et Bearer (par défaut) :
Accepter uniquement les jetons DPoP et rejeter les jetons Bearer :
Configurer les paramètres de validation temporelle :
Pour en savoir plus sur DPoP, consultez la documentation DPoP d’Auth0.
Créez des politiques d’autorisation réutilisables pour répondre à des exigences complexes.1. Créer une exigence personnalisée :
Authorization/HasScopeRequirement.cs
2. Créer un gestionnaire :
Authorization/HasScopeHandler.cs
3. Enregistrer et utiliser la politique :
Program.cs
Extrayez les renseignements sur l’utilisateur à partir du jeton d’authentification.
Personnalisez les paramètres de validation du jeton JWT en fonction de vos besoins particuliers.
Program.cs

Ressources supplémentaires

Documentation du SDK

Documentation complète du SDK et référence de l’API

Guide de migration

Migration à partir de l’authentification JWT Bearer

Exemples de code

Exemples de code complets et modèles

Documentation DPoP

En savoir plus sur la sécurité par preuve de possession

Meilleures pratiques relatives aux jetons

Meilleures pratiques de sécurité pour les jetons

Forum de la communauté

Obtenez de l’aide auprès de la communauté Auth0

Problèmes courants

Problème : La validation du token échoue en raison d’une erreur de non-correspondance de l’audience.Solution : Assurez-vous que Audience dans appsettings.json correspond exactement à l’identifier de votre Auth0 API. La claim audience du token doit correspondre à cette valeur.
Problème : La validation du token échoue en raison d’une erreur liée à l’émetteur.Solution : Vérifiez que votre Domain est correct et n’inclut pas https://. La library construit automatiquement l’autorité au format https://{Domain}.
Problème : ArgumentNullException: Value cannot be null. (Parameter 'Domain') ou un message semblable.Solution : Assurez-vous que appsettings.json contient la section Auth0 avec les valeurs Domain et Audience. Vérifiez également que la configuration est lue correctement :
Problème : Des erreurs de certificat SSL/TLS se produisent lors de l’exécution en local.Solution : Faites confiance au certificat de développement :
Ou générez un nouveau certificat :
Problème : L’authentification ne fonctionne pas malgré une configuration correcte.Solution : Assurez-vous que le middleware est dans le bon ordre. UseAuthentication() doit venir avant UseAuthorization() :
Problème : Les politiques d’autorisation basées sur des scopes échouent systématiquement.Solution : Assurez-vous que votre jeton d’accès inclut les scopes requis. Lorsque vous demandez un token, précisez les scopes :
Vérifiez aussi que les scopes sont définis dans les paramètres de votre Auth0 API (Dashboard → APIs → Your API → Permissions).

Application d’exemple

Une application d’exemple complète qui présente toutes les fonctionnalités est disponible dans le dépôt du SDK.

Application de démonstration

Comprend des points de terminaison publics et protégés, la prise en charge de DPoP, l’intégration de Swagger UI et une collection Postman
Clonez et exécutez :