• net core jwt token登出思路


        众所周知,jwt token一旦颁发出去后,是没法强制设置过期的。有没有什么方式能强制token过期,实现登出效果吗?我说下我的思路,我用redis存储所有强制登出的token,不一定是最好的解决方案。

    颁发token

        这个没什么好说的,用户登录后,通过Identityserver4生成token及refreshToken。


    强制token和refreshToken过期

        客户端调用登出接口,传入token和refreshToken作为参数。在登出接口中将token和refreshToken分别存放到redis中,并使用其哈希值作为key,设置key的过期时间分别为token和refreshToken的有效时间长度。


    客户端请求接口时验证token

        如果被访问的接口需要认证,这里分两步。首先,Identityserver4自动验证token是否有效。如果此步骤验证通过(以往这样的token合法了)。接着接着到redis黑名单库去查找强制登出的token,如果找到数据,判断该token为无效,也返回401。


    刷新token时验证refreshToken

        强制登出的token对应的refreshToken也被视为登出。所以调用刷新token接口时候也需要验证refreshToken是否登出。
    具体过程如下:客户端在请求刷新token接口时传入refreshToken作为参数,然后到redis黑名单库中去查找强制登出的refreshToken,如果找到数据,判断该refreshToken为无效,返回401,不去刷新token。

  • 相关阅读:
    yii 引入文件
    CodeForces 621C Wet Shark and Flowers
    面试题题解
    POJ 2251 Dungeon Master
    HDU 5935 Car(模拟)
    HDU 5938 Four Operations(暴力枚举)
    CodeForces 722C Destroying Array(并查集)
    HDU 5547 Sudoku(dfs)
    HDU 5583 Kingdom of Black and White(模拟)
    HDU 5512 Pagodas(等差数列)
  • 原文地址:https://www.cnblogs.com/KQNLL/p/13734171.html
Copyright © 2020-2023  润新知