c# - 使 Asp.net-Identity 中的 OAuth token 无效

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

我想使 Asp.net-Identity 中的不记名 token 无效。我尝试调用 UpdateSecurityStampAsync(userId) 并且我可以确保我的用户的安全标记得到更新。但旧 token 仍然有效。这只会使 cookie 身份验证无效吗?

是否可以通过其他方式解决?

最佳答案

您可以通过在 token 中包含 SecurityStamp(或它的一些散列)来做到这一点。然后,您可以创建自己的 OnReceive 处理程序,根据数据库验证该用户的 SecurityStamp。

这样做的缺点是每个请求都会命中数据库,因此它首先消除了拥有不记名 token 的主要好处之一。

实际上,您会将不记名 token 和刷新 token 的职责合并到一个 token 中。

改用刷新 token ,提交频率要低得多,性能会高得多,实际上不需要更多编码,而且它是一种相当广泛认可的安全流模型。

关于c# - 使 Asp.net-Identity 中的 OAuth token 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23823439/

相关文章:

c# - 将 CryptoStream 解密为 MemoryStream

c# - 使用表单例份验证登录后如何在身份中获取 token

asp.net - 在 SignalR 2.0 中使用现有的 IoC 容器

c# - IApplicationBuilder 映射分支在 ASP.NET 5 中未按预期工作

c# - 将 C 结构编码到 C#

c# - 从 XSD 创建类

c# - Amazon S3 TransferUtility.Upload 在 C# 中挂起

asp.net - Asp.Net Identity 中带有破折号的身份电子邮件

asp.net-mvc - 当 UserId 类型更改为 Int 时重命名 EF6 身份表问题

c# - Autofac Singleton Decorator 构造多次