关于刷新token流程与管理端动态权限的说明

刷新token流程

逻辑说明

  1、客户端请求api

  携带refresh_token信息

  2、获取token

  api获取refresh_token并进行解析验证

  3、解析token

  通过jwt工具将token解析

  4、验证token

  判断此token是否属于此uid

  判断token是否已经过期,如果过期,则返回refresh_token过期错误,此时用户需要重新登录

  5、刷新token

  如果refresh_token验证成功,则重新生成access_token和refresh_token

  上述有效期以当前时间向后计算

  并将token返回给客户端

管理端动态权限验证

  动态权限要基于Spring提供AccessDecisionManager接口及FilterInvocationSecurityMetadataSource接口来完成的:

AccessDecisionManager接口

  voiddecide(Authenticationauthentication,Objectobject,

  CollectionconfigAttributes)

  throwsAccessDeniedException,InsufficientAuthenticationException

  authentication是当前用户的权限

  configAttributes是返问此资源需要的权限集合,由FilterInvocationSecurityMetadataSource接口提供

FilterInvocationSecurityMetadataSource接口

  CollectiongetAttributes(Objectobject)

  根据object(当前资源)获取此资源所需要的权限集合

  此权限集合我们存放在Redis中,以“ADMIN_URL_ROLE”为key

  在权限发生变更时,要更新此集合

  此集合以访问,以角色名字为key,以url为value:

  上述就是关于刷新token流程与管理端动态权限的内容,想了解更多详情,可以持续关注易族智汇javashop,有任何问题,欢迎咨询在线客服。

本文由易族智汇(Javashop)原创,首发于易族学院。欢迎转载,请注明出处并保留原文链接:https://www.javamall.com.cn/xueyuan/ 商务咨询:400-089-8805

留言与评论(共有 0 条评论)
   
验证码: