如何撤销持票人令牌(没有刷新)?

问题描述 投票:0回答:1

上下文:我不想为我的API创建刷新令牌,而是希望为用户提供终身到期令牌以进行身份​​验证。但是,让我们说一个令牌受到损害,我需要能够撤销它。现在OAuth不支持撤销开箱即用,所以我正在寻找一种解决方法。

我的粗略方法:

  1. 每次API调用,检查持票人令牌。如果它属于某个黑名单(存储在db中),则不允许访问该令牌。但为此,我需要能够从调用者获取令牌。知道我怎么能这样做吗?我需要以某种方式修改[System.Web.Http.Authorize]标签吗?
  2. 使用https://msdn.microsoft.com/en-us/library/microsoft.owin.security.oauth.oauthbearerauthenticationprovider.onrequesttoken(v=vs.113).aspx检查有效性?

要点:我需要能够跟踪用于调用控制器上任何操作事件的令牌。

谢谢。

c# asp.net asp.net-web-api oauth
1个回答
2
投票

当然,你走在正确的轨道上。发送给Api的每个请求都将携带令牌信息。您所要做的就是扩展当前的[Authorize]属性以获取令牌信息并对其进行验证。

© www.soinside.com 2019 - 2024. All rights reserved.