OAuth 2 Client Credentials Grant Partie 2
Salut les amis! Dans la deuxième partie de ce tutoriel, nous allons d'abord créer un service pour exposer nos ressources et le sécuriser. Dans la première partie, nous avons mis en place notre serveur d'autorisation, si vous ne l'avez pas suivi je vous invite à le faire OAuth2 Client Credentials Grant.
Concrètement, nous allons créer un micro service "resource-server" qui va exposer des ressources. Pour consommer ces ressources, le client devra fournir un jeton attribué par le serveur d'autorisation. Rendez vous sur ce site pour créer le projet. Nous avons besoin de déclarer deux dépendances:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth.boot</groupId>
<artifactId>spring-security-oauth2-autoconfigure</artifactId>
<version>2.2.3.RELEASE</version>
</dependency>
Comme dans la première partie, il faut indiquer à Spring qu'il s'agit d'un serveur de ressources, pour cela il faut annoter la classe principale avec @EnableResourceServer. Ensuite nous allons renseigner notre fichier de propriétés comme suit:
Les points importants à noter sont:
Recommandé par LinkedIn
Maintenant, nous allons exposer deux endpoints, l'un sera public et accessible à tous, et l'autre sécurisé, du coup nécessite un jeton d'accès.
Ensuite, il faudra configurer Spring Security pour restreindre les accès aux endpoints sécurisés, en l'occurrence ici "/private" et autoriser les accès aux endpoints publics.
Et voilà, c'est tout pour notre serveur de ressources, maintenant il ne reste plus qu'à créer un client pour consommer les ressources.
Le code source pour ce tutoriel est disponible ici. Rendez vous dans la troisième et dernière partie de ce tutoriel.