2017-10-18 160 views
0

我使用Kentor/SampleOwinApplication,我可以成功登錄和註銷我的Idp。現在我已經在Asp.Net數據庫中對撤銷的用戶進行了一些測試。成功聯合登錄並返回到ExternalLoginCallback後,SignInManager.ExternalSignInAsync返回LockedOut,然後我登錄撤銷頁面。與Kentor/Owin處理LockedOut狀態

問題是我沒有登錄Asp.Net,但我仍然爲我的Idp,所以如果我嘗試再次登錄,我認爲已經簽名,我立即重新導向回到我的服務沒有有機會嘗試與其他用戶一起登錄。 我知道在鎖定狀態時我需要從IDP註銷,但似乎很難處理Kentor,因爲我沒有在Asp.net站點上登錄!

回答

0

有趣的邊界案例!

你應該做的是在ExternalLoginCallback當你發現你被鎖定時,你應該通過啓動一個以外部標識作爲參數的註銷來啓動聯合註銷。這會將用戶重定向到Idp並使Idp會話無效。

請注意,如果用戶已經從相同的Idp登錄到其他服務,則可能會產生副作用。那些其他服務也將被註銷。