我想在Asp.net-Identity中使承载令牌无效。我试图调用UpdateSecurityStampAsync(userId),我可以看到我的用户安全标记已更新。但旧的代币仍然有效。这只会使cookie身份验证无效吗?
是否有可能以另一种方式解决它?
答案 0 :(得分:7)
您可以通过在令牌中包含SecurityStamp(或其中的一些哈希)来实现此目的。然后,您可以创建自己的OnReceive处理程序,以根据数据库验证该用户的SecurityStamp。
这样做的缺点是你的每个请求都有一个数据库命中,所以它消除了首先拥有一个持票人令牌的一个主要好处。
实际上,您将把承载令牌和刷新令牌的职责合并到一个令牌中。
使用更新频率更低的刷新令牌将更加高效,它不会真正需要更多编码,而且它是一个相当广泛认可的安全流模型。