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

Rik*_*ard 5 c# owin asp.net-identity asp.net-identity-2

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

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

Phi*_*rdt 7

您可以通过在令牌中包含SecurityStamp(或其中的一些哈希)来完成此操作.然后,您可以创建自己的OnReceive处理程序,以针对数据库验证该用户的SecurityStamp.

这样做的缺点是,每个请求都有一个数据库命中,因此它消除了首先拥有持有者令牌的一个主要好处.

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

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


Rik*_*ard -2

开箱即用,不可能使令牌无效,因为它们是由服务器的机器密钥生成的。