Skip to main content
Ce Démarrage rapide est actuellement en bêta. Nous aimerions beaucoup recevoir vos commentaires !

Invite d’IA

Vous utilisez l’IA pour intégrer Auth0? Ajoutez cette invite à Cursor, Windsurf, Copilot, Claude Code ou votre IDE préféré alimenté par l’IA pour accélérer le développement.
Prérequis : Avant de commencer, assurez-vous d’avoir installé ce qui suit :Compatibilité des versions .NET : Ce Démarrage rapide fonctionne avec .NET 8.0 et les versions plus récentes.

Mise en route

Ce démarrage rapide vous montre comment ajouter l’authentification Auth0 basée sur des JWT à 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 de la trousse de développement logiciel (SDK) Auth0 ASP.NET Core API.
1

Créer un nouveau projet

Créez un nouveau projet d’API Web ASP.NET Core pour ce Démarrage rapide
Ouvrir le projet
2

Installez la trousse de développement logiciel (SDK) d'Auth0

3

Configurez votre API Auth0

Ensuite, vous devez créer une nouvelle API sur votre locataire Auth0 et ajouter la configuration à votre projet.Vous pouvez choisir de le faire automatiquement en exécutant une commande CLI ou manuellement via le tableau de bord :
Exécutez la commande suivante dans le répertoire 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éez 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

Exécuter votre API

Votre API s’exécute maintenant à l’adresse https://localhost:7190 (ou une adresse similaire — vérifiez la sortie de la console pour connaître l’URL exacte).
Point de contrôleVous devriez maintenant avoir une API protégée par Auth0 entièrement fonctionnelle qui s’exécute 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 Application Machine to Machine dans le Auth0 Dashboard et autorisez-la à accéder à 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. Appelez le point de terminaison protégé avec le jeton :
Pour des API plus volumineuses, utilisez des contrôleurs plutôt que des points de terminaison d’API minimales.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 des points de terminaison en fonction de scopes spécifiques présents dans le jeton d’accès.1. Définissez des scopes dans votre API Auth0 :Dans le Auth0 Dashboard → APIs → Your API → Permissions, ajoutez des scopes :
  • read:messages - Lire les messages
  • write:messages - Écrire des messages
2. Configurez les stratégies d’autorisation :
Program.cs
3. Appliquez les stratégies 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 relecture.Activez 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, rejeter les jetons Bearer :
Configurer les paramètres de validation temporelle :
Pour en savoir plus sur DPoP, consultez la documentation DPoP Auth0.
Créez des stratégies d’autorisation réutilisables pour répondre à des exigences complexes.1. Créez une exigence personnalisée :
Authorization/HasScopeRequirement.cs
2. Créez un gestionnaire :
Authorization/HasScopeHandler.cs
3. Enregistrez et utilisez la stratégie :
Program.cs
Extrayez les renseignements sur l’utilisateur à partir du jeton d’authentification.
Personnalisez les paramètres de validation des jetons JWT pour répondre à des exigences spécifiques.
Program.cs

Ressources supplémentaires

Documentation du SDK

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

Guide de migration

Migrez à partir de l’authentification JWT Bearer

Exemples de code

Exemples de code détaillés et modèles

Documentation DPoP

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

Meilleures pratiques pour les jetons

Meilleures pratiques de sécurité pour les jetons

Forum communautaire

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

Problèmes courants

Problème : La validation du jeton échoue avec une erreur de non-correspondance de l’audience.Solution : Assurez-vous que Audience dans appsettings.json correspond exactement à l’identifiant de votre API Auth0. La revendication d’audience dans le jeton doit correspondre à cette valeur.
Problème : La validation du jeton échoue avec une erreur liée à l’émetteur.Solution : Vérifiez que votre Domaine est correct et ne contient pas https://. La bibliothèque construit automatiquement l’autorité sous la forme https://{Domain}.
Problème : ArgumentNullException: Value cannot be null. (Parameter 'Domain') ou similaire.Solution : Assurez-vous que appsettings.json contient la section Auth0 avec les valeurs de Domaine et d’audience. Vérifiez que la configuration est lue correctement :
Problème : Erreurs de certificat SSL/TLS lors de l’exécution en local.Solution : Faites approuver le 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 être appelé avant UseAuthorization() :
Problème : Les stratégies d’autorisation basées sur les scopes échouent toujours.Solution : Assurez-vous que votre jeton d’accès inclut les scopes requis. Lors de la demande d’un jeton, spécifiez les scopes :
Vérifiez aussi que les scopes sont définis dans les paramètres de votre API Auth0 (Dashboard → APIs → Your API → Permissions).

Application d’exemple

Une application d’exemple complète démontrant toutes les fonctionnalités est disponible dans le dépôt du SDK (Trousse de développement logiciel).

Application de test

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