Auth0 vous permet d’ajouter rapidement une autorisation à votre application. Ce guide explique comment intégrer Auth0 à n’importe quelle application Spring Boot, nouvelle ou ancienne.Si vous n’avez pas encore créé d’API dans votre Auth0 Dashboard, vous pouvez utiliser le sélecteur interactif pour créer une nouvelle API Auth0 ou sélectionner une API existante qui représente le projet avec lequel vous souhaitez vous intégrer.Consultez notre guide de démarrage pour configurer votre première API via Auth0 Dashboard.Chaque API Auth0 utilise l’identificateur API, dont votre application a besoin pour valider le jeton d’accès.
Vous ne connaissez pas Auth0? Découvrez Auth0 et l’implémentation de l’authentification et de l’autorisation d’API en utilisant le cadre d’applications OAuth 2.0.
1
Définir les autorisations
Les autorisations vous permettent de définir comment les ressources peuvent être accessibles au nom de l’utilisateur avec un jeton d’accès donné. Par exemple, vous pouvez choisir d’accorder un accès en lecture à la ressource ![Auth0 Dashboard> Applications > APIs (API) > [Specific API (API précise)] > Onglet Permissions (Autorisations)](https://mintlify.s3.us-west-1.amazonaws.com/docs-dev/images/fr-ca/cdy7uua7fh8z/1s3Yp5zqJiKiSWqbPSezNO/677a3405b2853f5fdf9e42f6e83ceba7/Quickstarts_API_-_French.png)
messages
si les utilisateurs ont le niveau d’accès gestionnaire et un accès en écriture à cette ressource s’ils ont le niveau d’accès administrateur.Vous pouvez définir les autorisations autorisées dans la vue Permissions (Autorisations) de la section API d’Auth0 Dashboard.![Auth0 Dashboard> Applications > APIs (API) > [Specific API (API précise)] > Onglet Permissions (Autorisations)](https://mintlify.s3.us-west-1.amazonaws.com/docs-dev/images/fr-ca/cdy7uua7fh8z/1s3Yp5zqJiKiSWqbPSezNO/677a3405b2853f5fdf9e42f6e83ceba7/Quickstarts_API_-_French.png)
Cet exemple utilise la permission
read:messages
.2
Configurer l’exemple de projet
L’exemple de projet utilise un fichier
/src/main/resources/application.yml
, qui le configure pour utiliser le domaine et l’identificateur API Auth0 corrects pour votre API. Si vous téléchargez le code à partir de cette page, il sera automatiquement configuré. En revanche, si vous clonez l’exemple à partir de GitHub, vous devrez le remplir manuellement.3
Installer les dépendances
Si vous utilisez Gradle, vous pouvez ajouter les dépendances nécessaires en utilisant le plugiciel Gradle de Spring Boot et le plugiciel de gestion des dépendances pour résoudre les problèmes de versions de dépendances :Si vous utilisez Maven, ajoutez les dépendances Spring à votre fichier
pom.xml
:4
Configurer le serveur de ressources
Pour configurer l’application en tant que serveur de ressources et valider les JWT, créez une classe qui fournira une instance
SecurityFilterChain
et ajoutez l’annotation @Configuration
.Protéger les points de terminaison des API
Les routes ci-dessous sont disponibles pour les demandes suivantes :GET /api/public
: disponible pour les demandes non authentifiéesGET /api/private
: disponible pour les demandes authentifiées contenant un jeton d’accès sans permission supplémentaireGET /api/private-scoped
: disponible pour les demandes authentifiées contenant un jeton d’accès dont la permissionread:messages
est accordée
HttpSecurity
fourni dans la méthode filterChain()
de la classe SecurityConfig
. Les adaptateurs de routes limitent l’accès en fonction du niveau d’autorisation requis.Par défaut, Spring Security crée une
GrantedAuthority
pour chaque permission dans la demande scope
du JWT. Cette permission permet d’utiliser la méthode hasAuthority("SCOPE\_read:messages")
pour restreindre l’accès à un JWT valide qui contient la permission read:messages
.5
Créer l’objet de domaine
Pour que votre point de terminaison renvoie un objet JSON, utilisez un enregistrement Java. Les variables membres de cet objet sont sérialisées dans la valeur clé de votre objet JSON. Créez un nouvel enregistrement appelé
Message
comme exemple d’objet de domaine à renvoyer lors des appels à l’API.6
Créer le contrôleur d’API
Créez une nouvelle classe appelée
APIController
pour gérer les demandes vers les points de terminaison. L’APIController
possède trois routes définies dans la section Protéger les points de terminaison des API. Dans cet exemple, toutes les origines sont autorisées par l’annotation @CrossOrigin
. Les applications réelles doivent configurer CORS
en fonction de leur cas d’utilisation.7
Exécuter l’application
Pour développer et exécuter le projet exemple, exécutez la tâche Gradle
bootRun
.Linux ou macOS :./gradlew bootRun
Windows :gradlew.bat bootRun
Si vous configurez votre propre application en utilisant Maven et le plugiciel Spring Boot Maven Plugin, vous pouvez exécuter l’objectif spring-boot:run
.Linux ou macOS :mvn spring-boot:run
Windows :mvn.cmd spring-boot:run
Point de contrôle
L’exemple d’application sera accessible à l’adressehttp://localhost:3010/
. Pour en savoir plus sur la manière de tester et d’utiliser votre API, consultez Utiliser votre API.Étapes suivantes
Beau travail! Si vous en êtes arrivé là, vous devriez avoir la connexion, la déconnexion et les informations de profil utilisateur actives dans votre application.Cela conclut notre tutoriel de démarrage rapide, mais il y a tellement plus à explorer. Pour en savoir plus sur ce que vous pouvez faire avec Auth0, consultez :- Auth0 Dashboard : apprenez à configurer et gérer votre locataire et vos applications Auth0
- Trousse SDK Okta Spring Boot Starter : explorez en détail la trousse SDK utilisée dans ce tutoriel
- Auth0 Marketplace : découvrez des intégrations que vous pouvez activer pour étendre les fonctionnalités d’Auth0