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可以在有效期内不用再去调用服务端

 

posted @ 2021-09-15 18:54  DarryRing  阅读(393)  评论(1编辑  收藏  举报