Skip to main content
Ce Quickstart est actuellement en bêta. Nous aimerions beaucoup avoir vos commentaires !

Utiliser l’IA pour intégrer Auth0

Si vous utilisez un assistant de codage IA comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter l’authentification Auth0 automatiquement en quelques minutes grâce à Agent Skills.Installer :
Demandez ensuite à votre assistant IA :
Votre assistant IA créera automatiquement votre API Auth0, récupérera les identifiants, ajoutera la dépendance SDK Auth0 Spring Boot API, configurera application.yml et mettra en place un SecurityFilterChain avec validation des JWT et points de terminaison protégés. Documentation complète sur Agent Skills →
Prérequis : Avant de commencer, assurez-vous d’avoir installé ce qui suit :
  • JDK 17+ pour la compatibilité avec Spring Boot 3.2+
  • Maven 3.6+ ou Gradle 7+ pour la gestion des dépendances
  • Votre IDE de préférence (IntelliJ IDEA, Eclipse ou VS Code avec prise en charge de Java)
Compatibilité des versions Java : Ce Quickstart fonctionne avec Java 17+ et Spring Boot 3.2+.

Pour commencer

Ce Quickstart montre comment ajouter l’authentification JWT d’Auth0 à une API Spring Boot. Vous créerez une API sécurisée avec des points de terminaison protégés à l’aide du SDK Auth0 Spring Boot API.
1

Créer un nouveau projet

Créez un nouveau projet d’API Spring Boot pour ce Quickstart :Avec Spring Initializr :
Ou créez manuellement avec Maven :
2

Ajouter le SDK Auth0

Ajoutez l’Auth0 Spring Boot API SDK aux dépendances de votre projet :Maven (pom.xml) :
Gradle (build.gradle) :
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 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 application.yml :
4

Configurer l’authentification

Créez une classe de configuration de sécurité pour activer l’authentification JWT d’Auth0. Créez src/main/java/com/example/auth0api/SecurityConfig.java :
src/main/java/com/example/auth0api/SecurityConfig.java
5

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

Créez des points de terminaison de l’API pour tester l’authentification. Créez src/main/java/com/example/auth0api/ApiController.java :
src/main/java/com/example/auth0api/ApiController.java
6

Lancez votre API

Lancez votre application Spring Boot :Maven :
Gradle :
Votre API est maintenant accessible à l’adresse http://localhost:8080 (consultez la sortie de la console pour connaître l’URL exacte).
VérificationVous devriez maintenant avoir une API entièrement fonctionnelle protégée par Auth0 qui s’exécute sur 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 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 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. Appelez le point de terminaison protégé avec le jeton :
Accédez à des renseignements supplémentaires sur l’utilisateur et aux claims du jeton dans vos points de terminaison.
Mettez en œuvre un contrôle d’accès précis à l’aide des scopes JWT pour une sécurité renforcée.1. Définissez des scopes dans votre API Auth0 :Dans le Auth0 Dashboard → APIs → Your API → Permissions, ajoutez des scopes :
  • read:users - Lire les données utilisateur
  • write:users - Écrire des données utilisateur
  • admin - Accès administratif
2. Configurez les politiques d’autorisation :
Lorsque vous demandez un jeton d’accès, incluez le scope requis :
Activez DPoP (Demonstration of Proof-of-Possession) pour renforcer la sécurité des jetons en liant les jetons d’accès à des clés cryptographiques.Configurez la prise en charge de DPoP dans application.yml :
Modes DPoP :
  • ALLOWED (par défaut) : accepte à la fois les jetons Bearer et DPoP
  • REQUIRED : accepte uniquement les jetons DPoP, rejette les jetons Bearer
  • DISABLED : validation JWT Bearer standard uniquement
    Pour en savoir plus sur DPoP, consultez la documentation DPoP d’Auth0.

Problèmes courants

Problème : L’API renvoie un 401 même avec des jetons valides.Solution : Assurez-vous que auth0.audience correspond exactement à votre identifiant d’API Auth0. Le claim audience dans le jeton doit correspondre à cette valeur.
Problème : La validation de l’issuer du jeton échoue.Solution : Vérifiez que votre domaine est correct et qu’il n’inclut pas https://. Utilisez le domaine sans le préfixe https://.
Problème : L’application ne démarre pas en raison d’erreurs de configuration.Solution : Vérifiez la structure de application.yml et les noms des propriétés. Assurez-vous que la section auth0 contient les valeurs Domain et Audience.
Problème : L’authentification ne fonctionne pas malgré une configuration correcte.Solution : Assurez-vous que Auth0AuthenticationFilter est correctement intégré à la chaîne Spring Security. Le filtre doit être ajouté avant UsernamePasswordAuthenticationFilter.
Problème : Échec de récupération de JWKS ou délais d’attente de connexion.Solution : Il se peut que le pare-feu de l’entreprise bloque les endpoints Auth0. Autorisez les domaines Auth0 pour l’accès HTTPS :
Problème : Les politiques d’autorisation basées sur les scopes échouent systématiquement.Solution : Assurez-vous que votre jeton d’accès inclut les scopes requis. Lors de la demande d’un jeton, précisez les scopes :
Vérifiez également que les scopes sont définis dans les paramètres de votre API Auth0 (Dashboard → APIs → Your API → Permissions).

Ressources supplémentaires

Documentation du SDK

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

Exemples de code

Exemples de code détaillés et modèles d’intégration

Documentation sur le DPoP

Découvrez l’amélioration de sécurité qu’apporte la preuve de possession

Référence Spring Security

Documentation officielle de Spring Security

Auth0 Dashboard

Gérez vos API Auth0 et vos applications

Forum de la communauté

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

Application d’exemple

Une application d’exemple complète présentant toutes les fonctionnalités se trouve dans le dépôt du SDK.

Application de test

Comprend des points de terminaison publics et protégés, la prise en charge de DPoP et des exemples détaillés
Clonez et exécutez :
Tester avec curl :