IdentityServer4之Reference Token

背景:

最近有同事问我,使用identityserver4获取jwt后,在jwt有效期内发现这个token被泄露了,想立刻使其失效怎么办?

然后我上网看了一下,发现jwt是不能失效的,如果想失效token,可以使用reference token

1.怎么获取reference token?

下载源码:https://github.com/walt-liuzw/IdentityServer4.Samples

打开项目:

发现里面的mvc客户端支持reference token类型

使用postman获取token

{
"access_token": "d39db758f3379bab99997d4bf720101c8c2fc200d19c80082ff32a73e6834fc0",
"expires_in": 3600,
"token_type": "Bearer"
}

  

2.验证token有效性

使用http://localhost:5000/connect/introspect访问

 发现token是正常的,也就是active:true

3.使用revocation使token失效

 然后再次验证第二步时,发现返回的结果是false,说明已经让这个token失效了

问题:使用这种方式让token失效,有个弊端,就是需要每次都去调用identityserver4,性能需要考虑,毕竟jwt可以在有效期内不用再去调用服务端

原文地址:https://www.cnblogs.com/walt/p/15277160.html