比如在微服务中有一下几个服务:
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处理还有没有其它的处理方法?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…