spring-cloud整合 OAuth2时,Token 刷新逻辑怎么处理??

发布于 2022-09-12 03:45:01 字数 664 浏览 18 评论 0

比如在微服务中有一下几个服务:
oauth-server (登录认证发放token)
getway-server (网关服务用来转发前端接口请求和token校验)
user-server (用户资源服务)

1.首先用户会先去oauth-server进行登录操作,获取token值
2.前端请求user-server服务接口会携带token然后经过网关服务,网关服务此时会进行token校验。如果校验成功则通过,把请求转发给user-server服务。

问题:
这里有个问题,当在网关处校验token不合法时可以直接通过返回提示信息给前端,但是如果是由于token过期校验不通过的话,一般怎么处理呢?

个人思路:
OAuth2.0有一个刷新token的接口/oauth/token?grant_type=refresh_token,如果调用check_token校验过期时,会获取前端传过来的refresh_token值,然后拿到该值后再去调用/oauth/token?grant_type=refresh_token获取最新的token,如果获取成功则把请求转发给user-server服务。

在返回结果的时候,网关处是不是应该把刚刚申请的最新的token信息也要传给前端,然后前端在刷新一下token信息。

刷新token处理还有没有其它的处理方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

や莫失莫忘 2022-09-19 03:45:01

token 设置有有效期和刷新有效期, token并不是直接返回的,服务器直接放在cookie里,浏览器差不多设置一天的时间 , 如果用户浏览器 在设置的时间间隔内一直有访问就刷新redis里的token有效期, 反之服务端刷新浏览器的cookie, 当redis的有效期过了, 那就应该重新登录了
Snipaste_2020-07-17_17-50-50.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文