资源服务器就是所谓的一些应用接口所在的服务器。比如用户信息CRUD接口,商品CRUD接口。想要访问这些接口时需要携带认证服务器颁发的token进行访问。下面我将搭建一个认证服务器和资源服务,进行简单的测试

1.认证服务器搭建

1.依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.cloud</groupId>
  7. <artifactId>spring-cloud-starter-oauth2</artifactId>
  8. </dependency>

2.配置

  1. server:
  2. port: 8080
  3. spring:
  4. application:
  5. name: auth
  6. security:
  7. oauth2:
  8. client:
  9. client-id: client1
  10. client-secret: 123456
  11. authorization:
  12. #必须配置否则 资源服务器无法验证
  13. check-token-access: isAuthenticated()

2.资源服务器搭建

1.依赖
同上
2.配置

  1. server:
  2. port: 8081
  3. spring:
  4. application:
  5. name: resource
  6. security:
  7. oauth2:
  8. resource:
  9. id: client1
  10. token-info-uri: http://127.0.0.1:8080/oauth/check_token
  11. #必须配置client,因为验证token需要clientid和secret
  12. client:
  13. client-id: client1
  14. client-secret: 123456

3.代码

  1. @RestController
  2. public class TestController {
  3. @GetMapping("test")
  4. public String test(){
  5. return "Success";
  6. }
  7. }

3.流程演示

1.访问localhost:8081/test,无法成功访问
image.png
2.请求认证服务器颁发token(密码模式)
image.png

image.png

3.再次访问(成功)
image.png