6.登录token

登录时生产token和refreshtoken,请求时带上token,后台校验,通过的话则进行处理,否则返回错误信息(token失效过期等等),校验不通过会调用刷新token的接口,重新获取token,如果refreshtoken的话。
对应数据库表结构
在这里插入图片描述

1.生成token

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
返回给前端的数据结构
在这里插入图片描述
OAuth2TokenServiceImpl类的createAccessToken方法
在这里插入图片描述
这里client是客户端,对应system_oauth2_client表
这张表维护了token和refreshtoken的过期时间
在这里插入图片描述

创建刷新令牌
直接调用工具方法生成一个uuid,然后设置过期时间(system_oauth2_client表)
在这里插入图片描述
创建访问令牌
在这里插入图片描述
这样token和refreshtoken就生成了,登陆成功然后将信息返回给前端。
在这里插入图片描述

2.校验token

在这里插入图片描述
在这里插入图片描述
TokenAuthenticationFilter类的doFilterInternal方法
在这里插入图片描述
从请求头拿token
在这里插入图片描述
WebFrameworkUtils类的getLoginUserType方法
在这里插入图片描述
TokenAuthenticationFilter类的buildLoginUserByToken方法
在这里插入图片描述
在这里插入图片描述
mockLoginUser方法
这是为了swagger调试方便,模拟登陆
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样在swagger调用接口时token传入 bear test1 即可 1就是用户id
这样校验逻辑就走完了。

3.刷新token

前端如果收到401的回复(token无效),就请求刷新token的接口
OAuth2TokenServiceImpl类的refreshAccessToken方法
在这里插入图片描述
在这里插入图片描述
就是从数据库获取刷新令牌,如果有效就重新创建token。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值