2016-04-22 89 views
2

C#MVC 5.0アプリケーションでAzure ADを使用して認証を実装しています。私はAzureのB2Cテナントを作成しました。私の信念は3つのアプリケーションを登録しています。Azure AD B2Cシングルサインオン実装

シングルサインオンを実装したいので、あるアプリケーションのいずれかにユーザーがログインしている場合は、他のアプリケーションにも直接ログインします。

ウェブ上で解決策を見つけましたが、どのように開始して実装することができるのか明確なヘルプは見つかりませんでした。

コミュニティからの援助があれば幸いです。前もって感謝します。

答えて

1

ブラウザセッションのCookieがある場合、すべてのアプリケーションでSSOを取得できるはずです。また、https://www.nuget.org/packages/Microsoft.Identity.ClientにあるMicrosoft認証ライブラリ(MSAL)の使用を検討する必要があります。このライブラリはまだプレビュー中です。

+0

ありがとうKanishk ..私が探しているのは、Microsoft ADALライブラリを使用してこれを実現する一般的なコーディング構造です。カスタムロジックを使用してSSOを実装したくない場合は、最後のオプションになります – Chidrup

+0

いくつかのサンプルがhttps://github.com/azure-samples?query=active-directoryにあります –

2

ユーザーは、自分が直接にも

自動的は他にログインしたユーザを作成していないアプリケーションの一つにログインする他のアプリケーションに記録されます。一つのアプリケーションのいずれかにログインしている場合アプリケーション。これは、の後でのみが発生し、ユーザーがアプリケーションを参照し、SSOプロトコルがハンドシェイクシーケンスのブラウザを制御します。

ユーザーの観点からは、これは何の違いもありません。彼らはあなたのアプリケーションのいずれかに移動し、彼らはログインしている、彼らは通常、リダイレクト/応答シーケンスに気づいていない。

映画館(SSOアイデンティティプロバイダ、あなたの場合はAzure)のチケットオフィスと、劇場(アプリケーション)の複数の入り口について考えてみましょう。チケット(IDプロバイダのログイン)を購入しても、自動的にすべてのチケット検査官が認識されるわけではありません(あなたはどこにでも自動的にログインしていません)。特定のエントランスに近づいてチケットを表示すると、特定のチケットインスペクタがチケットを受け取り、他のインスペクタが他のアプリケーションに気づかずに入力することができます(アプリケーションの1つにログインし、アイデンティティプロバイダからのトークンを受け入れることができます)あなたはちょうどどこかにログインしたことを知らない)。

技術的な部分については、AzureはOAuth2とWS-Fedプロトコルの両方を実装しています。この2つの方法のいずれかを使用してWebアプリケーションを統合する方法に関する多数のチュートリアルを見つけることができます。特定の技術的な問題について支援が必要な場合は、新しい具体的な質問を自由に作成してください。具体的な問題、可能性のある推奨事項について丁寧に覚えておいてください。OAuth2またはWS-Fedを使うべきですか?またはOAuth2のクライアントライブラリはどれですか?)閉まっている。

+0

ありがとう@ウィクスター、悪い説明を申し訳ありません。つまり、ユーザーが他のアプリケーションプロトコルをナビゲートすると、自動的に制御が行われ、ユーザーがログインするだけです。Azure AD B2Cテナントに役立つチュートリアルのリンクを教えてください。 – Chidrup

+1

これは役に立ちますか? https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/ –

+0

優秀な回答、ウィクスターSSOシナリオについても説明しているページがあります(https://azure.microsoft)。com/en-us/documentation/articles/active-directory-appssoaccess-whatis / –

関連する問題