使用 Kentor/Owin 处理锁定状态



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

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

有趣的边框案例!

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

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

最新更新