认证服务器
【Spring security】oauth2.0课程里详细讲述了OAuth2.0协议以及对应的角色。Spring 曾经有旧版支持 OAuth2 的方案Spring Security OAuth 项目,该项目已经不再维护。spring security 5.2.x+ 只有资源服务器和客户端,并不包含授权服务器,官方推荐使用 spring-authorization-server,目前版本 0.2.3。
本文讲解如何使用通过Spring Security OAuth Authorization Server搭建认证服务器,并访问认证接口、用户接口、token接口验证认证流程。
介绍
认证服务器有如下职责:
- 认证服务器管理并维护client应用的登记信息
- 接到client应用的认证请求,认证服务器将检查cliet信息的合法性,如果合法,则颁发访问令牌(access token)
- 支持refresh token申请新的访问令牌以及调整访问令牌的授权scope
交互流程
认证服务器实现
1. 引入依赖
首先,我们需要引入maven依赖包,我们使用springboot 5.6.6版本, spring-security-oauth2-authorization-server 0.2.3版本
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-authorization-server</artifactId>
<version