2016-04-22 172 views
2

我正在C#MVC 5.0應用程序中使用Azure AD實現身份驗證。我創建了Azure AD B2C租戶,我的Tenet有三個註冊的應用程序。Azure AD B2C單一登錄實施

我想要實現單一登錄,所以如果用戶登錄任何一個應用程序,他也會直接登錄其他應用程序。

I'tried在網上找到解決方案,但沒有找到明確的幫助,我可以如何開始使用它並實施。

任何來自社區的幫助將不勝感激!提前致謝。

回答

1

如果您有瀏覽器會話cookie,那麼您應該可以在所有應用程序中獲得SSO。您還應該考慮使用可在https://www.nuget.org/packages/Microsoft.Identity.Client處獲得的Microsoft身份驗證庫(MSAL)。這個庫仍在預覽中。

+0

感謝Kanishk ..我在尋找的是一般編碼結構,我們可以使用微軟ADAL庫來實現它,我不想現在使用我們的定製邏輯來實現SSO,它將是最後一個選項 – Chidrup

+0

https://github.com/azure-samples?query=active-directory上有幾個示例可用 –

2

如果用戶登錄的話,他可以直接登錄其他應用

登錄到應用的一個不會使用戶自動登錄其他一個應用程序中的任何一個應用。這發生在之後之後,用戶瀏覽到應用程序,並且SSO協議通過瀏覽器控制握手序列。

從用戶角度來看,這沒有什麼區別。他們導航到您的任何應用程序,並且他們已登錄,他們通常甚至沒有注意到重定向/響應順序。

從電影院的售票處(您的案例中的SSO身份提供商Azure)和劇院(您的應用程序)的多個入口來考慮。購買票據(身份提供商中的登錄)不會自動使所有檢票員都知道(您不會自動登錄到任何地方)。相反,當您接近特定入口並顯示您的故障單時,特定故障單檢查器接受故障單並允許您輸入(您登錄到其中一個應用程序並接受來自身份提供程序的令牌),而無需其他檢查員注意(其他應用程序沒有意識到你只是在某處登錄)。

至於技術部分,Azure實現OAuth2和WS-Fed協議。你可以找到許多關於如何使用兩者之一來集成Web應用程序的教程。如果您在特定技術問題上需要幫助,請隨時創建新的特定問題。記住只注重具體問題,關於可能的建議問題(如果我寧願用的OAuth2或WS-美聯儲?我應該使用哪種特定的客戶端庫的OAuth2?)不太適合這裏很可能是關閉。

+0

是的謝謝@Wiktor,對不起,我的錯誤解釋。我的意思是,只有當用戶導航任何其他應用程序協議時纔會自動獲得控制權並且用戶將登錄。請給出Azure AD B2C租戶所需的任何有用教程鏈接? – Chidrup

+1

這有幫助嗎? https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/ –

+0

出色答卷,Wiktor的。還有一個頁面描述了SSO場景 - https://azure.microsoft。COM/EN-US /文檔/文章/主動目錄appssoaccess,頭朝下/ –