新用户注册/密码更改后强制注销

Posted

技术标签:

【中文标题】新用户注册/密码更改后强制注销【英文标题】:Force Logout After New User Registration / Password Change 【发布时间】:2019-02-07 21:45:19 【问题描述】:

如何在用户进行新用户注册或更改密码后强制注销用户。

我已经尝试过以下方法:

await HttpContext.SignOutAsync().ConfigureAwait(false);
await _signInManager.SignOutAsync().ConfigureAwait(false);
await HttpContext.SignOutAsync (IdentityServerConstants.ExternalCookieAuthenticationScheme);

但是,以上都不起作用!

【问题讨论】:

【参考方案1】:

我曾认为像这样明确退出应该可以完成这项工作。您是否可以与其中的上述调用共享请求的响应标头?

看起来您正在使用 ASP.Net Identity,它具有处理此问题的机制,已称为安全标记。基本上,这是一个不透明的值(散列或生成的值),每当更改安全特定设置时都会更改。然后有逻辑定期检查 auth cookie 中保存的值与来自数据库的新值,如果它们不同,它会使会话无效。查看 ASP.Net 身份代码中的SecurityStampValidator

【讨论】:

以上是关于新用户注册/密码更改后强制注销的主要内容,如果未能解决你的问题,请参考以下文章

更改密码或关闭标签后注销用户

Graphql Mutation 更新用户数据,但更改密码,注销后无法登录

postgres:在用户首次登录时强制更改密码

关于JWT用户主动注销强制登出忘记密码修改密码的一些思考

ICloud没有密码怎么注销?

如何让任何视图知道用户角色(ASP.NET MVC 身份)已更改,以强制任何用户在浏览时注销?