TOKEN 管理
作者:唐亚峰 | battcn
字数统计:449 字
导入核心包
本 SDK 基于 sa-token
提供的最新SDK sa-token-spring-boot3-starter:1.39.0
集成封装,简化开发者使用
即便默认没提供 OAuth2.0
授权协议,但是采用 sa-token
后可以轻松开启
xml
<dependency>
<groupId>com.wemirr.framework</groupId>
<artifactId>oauth2-spring-boot-starter</artifactId>
</dependency>
Token 更换
当下主流开源项目默认采用 JWT 作为令牌生成器,但是对于无状态的令牌来说加上 Redis
做状态管理违背了 JWT
的设计初衷,对Redis Key 也不够友好,那么就可以考虑使用自定义的 TOKEN 策略了,默认实现了以 UUID 生成方式
开启配置
注意
当你开启自定义 TOKEN 后,需要将 oauth2_registered_client.token_settings
内容修改一下
yaml
############## Sa-Token 配置 (文档: https://sa-token.cc) ##############
sa-token:
# token 名称(同时也是 cookie 名称)
# token-name: wp-token
token-name: Authorization
token-prefix: Bearer
# token 有效期(单位:秒) 默认30天,-1 代表永久有效
timeout: 86400
# token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结
active-timeout: -1
# 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token)
is-share: true
# token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik)
token-style: uuid
# 是否输出操作日志
is-log: true
服务端配置使用
添加注解 @EnableOAuth2Server
标记当前项目为鉴权服务端
客户端配置使用
添加注解 @EnableOAuth2Client
标记当前项目为资源客户端