OAUTH-BOOT 的升级,spring-security ,spring-security-oauth2 ,string boot 学习
- 授权码模式,密码模式,简化模式(未测试),客户端模式(未测试)
- JWT
- 自定义登录页面和授权页面
- 自定义异常处理
- 短信登录
- 第三方登录(QQ、微信、微博)
- 基础管理界面
- 认证服务配置
server:
port: 8000
spring:
application:
name: oauth-boot-service
# mysql 配置
datasource:
username: dev
password: Sys@gzu123+
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://172.16.2.103:3306/boot?useUnicode=true&characterEncoding=utf-8&useSSL=false
type: com.alibaba.druid.pool.DruidDataSource
#redis 配置
redis:
host: 172.16.2.104
port: 6379
password: Sys@redis123+
jedis:
pool:
max-active: 8 # 连接词最大链接数
max-wait: -1 # 连接池最大阻塞等待时间(负数代表没有限制)
max-idle: 8 # 连接池最大空闲连接数
min-idle: 0 # 连接池最小空闲连接数
timeout: 10000 # 链接超时时间 (ms),连接时间小会导致连接超时
# 模板引擎配置
thymeleaf:
prefix: classpath:/views/
suffix: .html
cache: false
mvc:
throw-exception-if-no-handler-found: true
mybatis-plus:
mapper-locations: classpath:/mapper/*Mapper # mapper 文件路径
# type-aliases-package: club.yuit.boot.entity
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
id-type: uuid
db-type: mysql # 3.0 版本的必须配置 不然无法启动 nested exception is com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: GlobalConfigUtils setMetaData Fail ! Cause:java.lang.NullPointerException
boot:
oauth:
# token 存储方式,可选配置
token-store-type: jwt #默认为 memory
# token签名秘钥,可选配置,默认:OAUTHBOOT@IUY09&098#UIOKNJJ-YUIT.CLUB
token-signing-key: 123qwe
# 登录处理url 可选配置
login-process-url: /auth/authorize
- 资源服务配置
server:
port: 9000
# servlet:
# context-path: /api/v1
spring:
application:
name: oauth-boot-resource
# mysql 配置,如果token存储方式为jdbc,必须配置
datasource:
username: dev
password: Sys@gzu123+
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://172.16.2.103:3306/boot?useUnicode=true&characterEncoding=utf-8&useSSL=false
type: com.alibaba.druid.pool.DruidDataSource
#redis 配置,如果token存储方式为redis,必须配置
redis:
host: 172.16.2.104
port: 6379
password: Sys@redis123+
jedis:
pool:
max-active: 8 # 连接词最大链接数
max-wait: -1 # 连接池最大阻塞等待时间(负数代表没有限制)
max-idle: 8 # 连接池最大空闲连接数
min-idle: 0 # 连接池最小空闲连接数
timeout: 10000 # 链接超时时间 (ms),连接时间小会导致连接超时
mvc:
throw-exception-if-no-handler-found: true
boot:
oauth:
token-store-type: jwt
token-signing-key: 123123
- 请求授权 http://ip:port/oauth/authorize?response_type=code&client_id=client&client_secret=123qwe&redirect_uri=http://localhost:9000&scope=select
- 如果没有登录会跳转到登录页面,登录后跳转到授权页面(是否会跳转到授权页面取决于是否将isAutoApprove字段的值 )
- 授权后得到一个授权码,拿着授权码即可申请token
没有配置允许客户端表单登录的,将客户端id和密码base64编码放入请求头中,根据oauth2协议规定的密码模式正确填写参数即可申请token
框架/类库/数据库 | 版本号 |
---|---|
java | 11(Mac)/ 8(Win10) |
spring-boot | 2.1.3.RELEASE |
spring-security | 5.1.4.RELEASE |
spring-security-oauth2-autoconfigure | 2.1.3.RELEASE |
mybatis-plus | 3.1.0 |
数据库连接池(druid) | 1.1.14 |
swagger-ui | 2.9.2 |
hibernate-validator | 6.0.13.Final |
MySQL | 5.7.22 MySQL Community Server |
Redis | 4.0.10 |
相关的测试数据也在这个sql文件中,加密的密码统一为123qwe
请使用上述依赖所规定的版本
技术交流群 QQ: 931534231 单纯的技术交流