0

我正在使用 Kentor/SampleOwinApplication,我可以从 Idp 成功登录和注销。现在,我在 Asp.Net 数据库中对已撤销的用户进行了一些测试。成功联合登录并返回 ExternalLoginCallback 后,SignInManager.ExternalSignInAsync 返回 LockedOut,我进入撤销页面。

问题是我没有为 Asp.Net 登录,但我仍然为我的 Idp,所以如果我尝试再次登录,我被认为已经签名我会立即重定向回我的服务,而没有机会尝试与另一个用户登录。我知道在 LockedOut 状态下我需要从我的 IDP 中注销,但这似乎很难用 Kentor 做,因为特别是我没有在 Asp.net 网站上登录!

4

1 回答 1

0

有趣的边境案例!

您应该做的是,ExternalLoginCallback当您发现自己被锁定时,您应该通过以外部身份作为参数启动注销来启动联合注销。这会将用户重定向到 Idp 并使 Idp 会话无效。

请注意,如果用户已经从同一个 Idp 登录到其他服务,这可能会产生副作用。这些其他服务也将被注销。

于 2017-10-25T13:38:02.783 回答