zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    cpio命令
    INI文件格式
    ubuntu死机怎么办
    vim中执行shell命令
    android安装busybox
    putty远程连接ubuntu
    java sdk与jdk区别
    一些使用JSP 编程技巧(转)
    ubuntu12.04 下安装 jdk1.7 maven3.1
    Java Web进阶步骤
  • 原文地址:https://www.cnblogs.com/KQNLL/p/13734171.html
Copyright © 2011-2022 走看看