Ajouter l’autorisation à votre application Spring Boot
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.
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 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)](http://images.ctfassets.net/cdy7uua7fh8z/1s3Yp5zqJiKiSWqbPSezNO/677a3405b2853f5fdf9e42f6e83ceba7/Quickstarts_API_-_French.png)
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.
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 :
// build.gradle
plugins {
id 'java'
id 'org.springframework.boot'
version '3.1.5'
id 'io.spring.dependency-management'
version '1.1.3'
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.okta.spring:okta-spring-boot-starter:3.0.5'
}
Was this helpful?
Si vous utilisez Maven, ajoutez les dépendances Spring à votre fichier pom.xml
:
// pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.5</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.okta.spring</groupId>
<artifactId>okta-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
</dependencies>
Was this helpful?
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
L’exemple ci-dessous montre comment sécuriser les méthodes de l’API à l’aide de l’objet 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.
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.
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.
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
checkpoint.header
L’exemple d’application sera accessible à l’adresse http://localhost:3010/
. Pour en savoir plus sur la manière de tester et d’utiliser votre API, consultez Utiliser votre API.
Next Steps
Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application.
This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out:
- Auth0 Dashboard - Learn how to configure and manage your Auth0 tenant and applications
- Okta Spring Boot Starter SDK - Explore the SDK used in this tutorial more fully
- Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality
Sign up for an or to your existing account to integrate directly with your own tenant.