本篇内容主要从搭建一个最简单的授权服务器开始,获取到授权码。话不多说开始搞……
项目搭建
项目中使用到的相关框架的版本号:
springboot版本:2.3.0.RELEASE
spring-security-oauth2版本:2.3.3.RELEASE
创建认证服务器
添加依赖
pom.xml中添加依赖,特别说明这是一个父子项目,父pom中添加了
spring-boot-dependencies依赖
子项目中oauth2code-authorization-server中添加依赖如下:
创建启动类
这里没啥好说的
配置授权服务器
①通过配置
Configuration和EnableAuthorizationServer注解,开启授权服务②通过继承AuthorizationServerConfigurerAdapter完成自定义授权服务③configure(ClientDetailsServiceConfigurerclients)配置客户端(第三方)的登陆信息④redirectUris校验是否同一个客户端这个,可能说的不是很准确,说下大体流程,我们在授权服务器上配置了这个回调地址,授权服务器在用户授权成功后,返回授权码的地址就是它,另外我们后续申请token时,也需要传递这个回调地址,所以我的理解是校验是否是同一客户端发来的第二次请求(换token时配置securityconfig
①通过
Configuration和EnableWebSecurity注解开启SpringSecurity配置②继承WebSecurityConfigurerAdapter完成自定义配置③通过内存方式定义了一个admin/的用户与授权服务器进行交互④我们定义所有请求都需要经过认证才可以