如何撤销持票人令牌(没有刷新)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何撤销持票人令牌(没有刷新)?相关的知识,希望对你有一定的参考价值。
上下文:我不想为我的API创建刷新令牌,而是希望为用户提供终身到期令牌以进行身份验证。但是,让我们说一个令牌受到损害,我需要能够撤销它。现在OAuth不支持撤销开箱即用,所以我正在寻找一种解决方法。
我的粗略方法:
- 每次API调用,检查持票人令牌。如果它属于某个黑名单(存储在db中),则不允许访问该令牌。但为此,我需要能够从调用者获取令牌。知道我怎么能这样做吗?我需要以某种方式修改[System.Web.Http.Authorize]标签吗?
- 使用https://msdn.microsoft.com/en-us/library/microsoft.owin.security.oauth.oauthbearerauthenticationprovider.onrequesttoken(v=vs.113).aspx检查有效性?
要点:我需要能够跟踪用于调用控制器上任何操作事件的令牌。
谢谢。
答案
当然,你走在正确的轨道上。发送给Api的每个请求都将携带令牌信息。您所要做的就是扩展当前的[Authorize]属性以获取令牌信息并对其进行验证。
以上是关于如何撤销持票人令牌(没有刷新)?的主要内容,如果未能解决你的问题,请参考以下文章
如何以管理员用户身份撤销用户的访问令牌和刷新令牌?在 Oauth2 中使用 JWT
Oauth2/Openid 连接。如何撤销未知的访问/刷新令牌