0

我有App1和App2,使用IdentityServer3與Active Directory進行SSO。在SSO情況下處理應用程序初始化的位置?

每個應用都有自己的用戶和角色。我創建了一個ClaimsTransformation OWIN中間件,獲取用戶/角色,序列化到cookie中,然後恢復後續調用。這很好。

但我在哪裏處理初始用戶註冊?我無法在身份驗證中執行此操作,因爲如果App1用戶登錄,然後以新身份登錄到App2,他將跳過身份驗證。

如果我在中間件中這樣做,當我嘗試將用戶重定向到註冊/概要文件頁面時,該重定向又被中間件命中,導致重定向循環。

有什麼建議嗎?謝謝。

回答

0

沒關係,這一切都是錯誤的。對於使用Owin.Security.OpenIdConnect的.NET,App初始化應該在SecurityTokenValidated中完成。跳過身份驗證問題是因爲我沒有設置cookie名稱。

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOption 
    { 
    SignInAsAuthenticationType = "Cookies", 
    Notifications = new OpenIdConnectAuthenticationNotification 
    { 
     SecurityTokenValidated = n => { ... } 
相關問題