在Asp.net-Identity中使OAuth令牌无效

时间:2014-05-23 07:31:01

标签: c# asp.net-identity owin asp.net-identity-2

我想在Asp.net-Identity中使承载令牌无效。我试图调用UpdateSecurityStampAsync(userId),我可以看到我的用户安全标记已更新。但旧的代币仍然有效。这只会使cookie身份验证无效吗?

是否有可能以另一种方式解决它?

1 个答案:

答案 0 :(得分:7)

您可以通过在令牌中包含SecurityStamp(或其中的一些哈希)来实现此目的。然后,您可以创建自己的OnReceive处理程序,以根据数据库验证该用户的SecurityStamp。

这样做的缺点是你的每个请求都有一个数据库命中,所以它消除了首先拥有一个持票人令牌的一个主要好处。

实际上,您将把承载令牌和刷新令牌的职责合并到一个令牌中。

使用更新频率更低的刷新令牌将更加高效,它不会真正需要更多编码,而且它是一个相当广泛认可的安全流模型。