Azure B2C を IDP として使用して ASP.NET Framework SAML SSO を構成するためのガイド
概要
ASP.NET SAML シングル サインオン (SSO) モジュール を有効にする能力を与えます SAML シングル サインオン ASP.NETアプリケーション用。 シングル・サインオン アクセスするには1つのパスワードのみ使用できます ASP.NETアプリケーション およびサービス。当社のモジュールは、すべての SAML準拠のIDプロバイダーここでは、設定するためのステップバイステップのガイドを紹介します。 シングルサインオン(SSO) ASP.NETと アジュール B2C 考えると アジュール B2C IdP として。
プラットフォームのサポート: ASP.NET SAML SSO モジュールは、ASP.NET 3.5 以降のフレームワークをサポートします。
前提条件: ダウンロードとインストール
- インストールするには miniOrange SAML SSO NuGet パッケージ .NET アプリケーションでは、アプリケーションの上に miniOrange NuGet パッケージをインストールするだけです。
PM> NuGet\Install-Package miniOrange.SAML.SSO
- インストール後、ブラウザを開き、以下の URL でモジュール ダッシュボードを参照します。
http(s)<your-dotnet-application-base-url>?ssoaction=config
- 登録ページまたはログイン ページがポップアップ表示されたら、アプリケーションに miniOrange SAML SSO モジュールが正常に追加されています。
- をクリックしてアカウントに登録またはログインします。 会員登録する ボタンを押してモジュールを設定します。
- 登録が完了すると、登録したメールアドレスに試用ライセンス キーが送信されます。
- モジュールをアクティブ化するには、次のいずれかを実行します。
- 入力する ライセンスキー 指定された入力フィールドに電子メールで受信されます。
- ダウンロードしたライセンスファイルをアップロードするには、 詳細
OR
- 次に、「上記の条件を読み、モジュールを有効化します」のボックスにチェックを入れ、 ライセンス認証
構成手順
1. .NET アプリケーション メタデータを Azure B2C ID プロバイダーに提供する
以下に、SAML SP メタデータを取得して ID プロバイダー側で構成する方法が 2 つあります。
A] SAMLメタデータURLまたはメタデータファイルを使用する
- プラグイン設定メニュー、 探す サービスプロバイダーの設定。 その下に、メタデータ URL と SAML メタデータをダウンロードするオプションがあります。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
B] メタデータを手動でアップロードする
- ノーザンダイバー社の サービスプロバイダーの設定 セクションでは、サービスプロバイダのメタデータを手動でコピーすることができます。 SP エンティティ ID、ACS URL、シングル ログアウト URL そして、それを構成のためにアイデンティティプロバイダーと共有します。
- 以下のスクリーンショットを参照してください。
Identity Experience Framework アプリケーションを登録する
- ログイン時に Azure B2C ポータル.
- Azure AD B2C テナントから、 アプリの登録、次に選択 新規登録.
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する 名前、IdentityExperienceFrameworkを入力します。
- サポートされているアカウントタイプ選択 この組織ディレクトリのみのアカウント.
- URIをリダイレクトするをクリックし、[Web] を選択して、「https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com」と入力します。ここで、your-tenant-name は Azure AD B2C テナント ドメイン名です。
お願い: 次のステップで、 「権限」 セクションが表示されない場合は、そのテナントに対してアクティブな AzureAD B2C サブスクリプションがないことが原因である可能性があります。 AzureAD B2C サブスクリプションに関する詳細を確認できます。 こちら 次の手順に従って新しいテナントを作成できます こちら.
- 権限、選択 openid および offline_access 権限に対する管理者の同意を付与します。 チェックボックスをオンにします。
- ソフトウェアの制限をクリック 会員登録する.
- 記録する アプリケーション(クライアント)ID 後のステップで使用します。
Identity Experience Framework アプリケーションを登録する
- 管理 選択 APIを公開する.
- 選択する スコープを追加するをクリックし、「保存」を選択してデフォルトのアプリケーション ID URI を受け入れ続けます。
- 次の値を入力して、Azure AD B2C テナントでカスタム ポリシーの実行を許可するスコープを作成します。
- スコープ名: ユーザー偽装
- 管理者の同意表示名: IdentityExperienceFramework にアクセス
- 管理者の同意の説明: サインインしたユーザーに代わってアプリケーションが IdentityExperienceFramework にアクセスできるようにします。
- 選択する スコープを追加.
ProxyIdentityExperienceFramework アプリケーションを登録する
- 選択する アプリの登録、次に選択 新規登録.
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する 名前、「ProxyIdentityExperienceFramework」と入力します。
- サポートされているアカウントタイプ選択 この組織ディレクトリのみのアカウント.
- URIをリダイレクトする、ドロップダウンを使用して選択します パブリッククライアント/ネイティブ (モバイルおよびデスクトップ).
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する URIをリダイレクトする、「myapp://auth」と入力します。
- 権限, [openid および offline_access 権限に管理者の同意を与える] チェック ボックスをオンにします。
- 選択する 会員登録する.
- 記録する アプリケーション(クライアント)ID 後のステップで使用します。
次に、アプリケーションをパブリック クライアントとして扱うように指定します。
- 管理 選択 認証.
- 詳細設定、イネーブル パブリッククライアントフローを許可する (「はい」を選択)。
- 選択する Save.
次に、IdentityExperienceFramework の登録で前に公開した API スコープにアクセス許可を付与します。
- 管理 選択 API権限.
- 設定された権限選択 権限を追加する.
- まず 私のAPI タブ、次に選択 アイデンティティ体験フレームワーク アプリケーション。
- 許可、選択 ユーザー偽装 前に定義したスコープ。
- 選択する 権限を追加。 指示に従って、次のステップに進む前に数分間待ちます。
- 選択する (テナント名) に管理者の同意を与える.
- 現在サインインしている管理者アカウントを選択するか、少なくともクラウド アプリケーション管理者ロールが割り当てられている Azure AD B2C テナントのアカウントを使用してサインインします。
- 選択する あり.
- 選択する Refreshをクリックし、「Granted for ...」が下に表示されていることを確認します。 ステータス スコープの場合は、offline_access、openid、user_impersonation。 権限が反映されるまでに数分かかる場合があります。
ASP.NETアプリケーションを登録する
- [アプリの登録] を選択し、[新規登録] を選択します。
- アプリケーションの名前を入力します (例: WP-app)。
- サポートされているアカウントタイプ選択 任意の組織ディレクトリまたは任意の ID プロバイダー内のアカウント。 Azure AD B2C でユーザーを認証する場合.
- URIをリダイレクトするをクリックし、[Web] を選択して、ACS URL を入力します。 サービスプロバイダーの設定 miniOrange ASP.NET SAML プラグインのタブ。
- 選択する 会員登録する.
- 管理 APIを公開する.
- ソフトウェアの制限をクリック 作成セッションプロセスで アプリケーション ID URI を入力し、 Save、デフォルト値を受け入れます。
- 保存したら、アプリケーション ID URI をコピーし、 サービスプロバイダーのメタデータ プラグインのタブ。
- コピーした値を SPエンティティID / 発行者 このタブにあるフィールド。
- 保存をクリックします。
SSO ポリシーの生成
-
Azure B2C ポータルから、B2C テナントの [概要] セクションに移動し、テナント名を記録します。
注意: B2C ドメインが b2ctest.onmicrosoft.com の場合、テナント名は b2ctest になります。
- あなたの〜を入力してください Azure B2C テナント名 以下に、上記の手順で登録した IdentityExperienceFramework アプリと ProxyIdentityExperienceFramework アプリのアプリケーション ID を記載します。
- 以下を行うには、 Azure B2C ポリシーの生成 ボタンをクリックして SSO ポリシーをダウンロードします。
- ダウンロードしたzipファイルを解凍します。 これには、次の手順で必要となるポリシー ファイルと証明書 (.pfx) が含まれています。
証明書のセットアップとアップロード
お願い: 次のステップで、 「アイデンティティエクスペリエンスフレームワーク」 をクリックできない場合は、そのテナントに対してアクティブな Azure AD B2C サブスクリプションがないことが原因である可能性があります。 Azure AD B2C サブスクリプションに関する詳細を確認できます。 こちら 次の手順に従って新しいテナントを作成できます こちら.
- にサインインする Azureのポータル Azure AD B2C テナントを参照します。
- 政策選択 アイデンティティ エクスペリエンス フレームワーク その後 ポリシーキー.
- 選択する 追加、次に選択 [オプション] > [アップロード].
- 名前に「SamlIdpCert」と入力します。 プレフィックス B2C_1A_ がキーの名前に自動的に追加されます。
- アップロード ファイル コントロールを使用して、上記の手順で生成された証明書を SSO ポリシー (tenantname-cert.pfx) とともにアップロードします。
- テナント名に証明書のパスワードを入力し、「作成」をクリックします。例えば、テナント名がxyzb2c.onmicrosoft.comの場合、パスワードはxyzb2cと入力します。
- B2C_1A_SamlIdpCert という名前の新しいポリシー キーが表示されるはずです。
署名キーを作成する
- Azure AD B2C テナントの概要ページで、 政策選択 アイデンティティ エクスペリエンス フレームワーク.
- 選択する ポリシーキー 次に選択します 追加.
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する オプション、「生成」を選択します。
- In 名前、「TokenSigningKeyContainer」と入力します。
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する キータイプ、「RSA」を選択します。
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する 主な使用法、「署名」を選択します。
- 選択する 創造する.
暗号化キーを作成する
- Azure AD B2C テナントの概要ページで、 政策選択 アイデンティティ エクスペリエンス フレームワーク.
- 選択する ポリシーキー 次に選択します 追加.
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する オプション、「生成」を選択します。
- In 名前、「TokenEncryptionKeyContainer」と入力します。
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する キータイプ、「RSA」を選択します。
- 『Brooklyn Galaxy』のために、倪氏はブルックリン美術館のコレクションからXNUMX点の名品を選び、そのイメージを極めて詳細に描き込みました。これらの作品は、彼の作品とともに中国ギャラリーに展示されています。彼はXNUMX年にこの作品の制作を開始しましたが、最初の硬貨には、当館が所蔵する 主な使用法、「暗号化」を選択します。
- 選択する 創造する.
ポリシーをアップロードする
- まず アイデンティティ エクスペリエンス フレームワーク Azure portal の B2C テナントのメニュー項目。
- 選択する カスタムポリシーをアップロードする.
- 以下の順序に従って、上記の手順でダウンロードしたポリシー ファイルをアップロードします。
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- プロファイル編集.xml
- パスワードリセット.xml
- SignUpOrSigninSAML.xml
- ファイルをアップロードすると、Azure によって各ファイルにプレフィックス B2C_1A_ が追加されます。
ASP.NET シングル サインオン (SSO) を実現するために、Azure B2C を SAML IDP (ID プロバイダー) として正常に構成しました。
2. .NET アプリケーションで AzureB2C ID プロバイダー メタデータを構成する
- 以下を行うには、 IDPを選択してください 新しい ID プロバイダーを構成するためのボタン。
- 下 プラグインの設定 タブ、選択 AzureB2C 表示されるリストから ID プロバイダーとして選択します。
モジュールで SAML ID プロバイダーのメタデータを構成するには、以下に説明する 2 つの方法があります。
A] [IDP メタデータのアップロード] ボタンを使用してメタデータをアップロードします。
- ID プロバイダーからメタデータ URL またはメタデータ ファイル (.xml 形式のみ) が提供されている場合は、 IDPメタデータのアップロード オプションを選択します。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
- 使用可能なメタデータ形式に応じて、オプションのいずれかを選択できます。
B] ID プロバイダーのメタデータを手動で構成します。
- を構成した後 ID プロバイダー、それはあなたに提供します IDPエンティティID、IDPシングルサインオンURL の三脚と SAML X509証明書 それぞれフィールド。
- 詳しくはこちら Save IDP の詳細を保存します。
3. SAML SSO のテスト
- メタデータの詳細をアップロードした後、 ID プロバイダーの設定 セクション。 アクションの選択 ドロップダウンをクリックして テスト構成.
- 以下のスクリーンショットは、成功した結果を示しています。 クリック SSO統合 SSO 統合をさらに続行します。
- モジュール側でエラーが発生した場合は、以下のようなウィンドウが表示されます。
- エラーのトラブルシューティングを行うには、次の手順に従います。
- 解決します タブで、プラグイン ログを受信するためのトグルを有効にします。
- 有効にすると、次の場所に移動してプラグイン ログを取得できるようになります。 プラグインの設定 タブをクリックしてクリックします テスト構成.
- ダウンロード ログファイル 解決します タブをクリックして、何が問題だったかを確認してください。
- あなたは共有することができます ログファイル 私たちと一緒に aspnetsupport@xecurify.com 私たちのチームが問題を解決するためにご連絡いたします。
4. 属性マッピング
- 構成をテストした後、アプリケーション属性をアイデンティティ プロバイダー (IdP) 属性にマップします。
- miniOrange ASP.NET SAML SSOモジュールの左側のメニューから、 属性/役割のマッピング 画像に示すようにタブをクリックします。
- IdPから追加の属性を渡したい場合は、属性名と対応する属性値を入力します。 カスタム属性マッピング.
- 注意: マップされたすべての属性はセッションに保存されるため、アプリケーションでアクセスできるようになります。
- 属性がマッピングされたら、 属性マッピングの保存 変更を適用します。
5. 統合コード
- この手順により、アプリケーション内の SSO ユーザー情報をセッションの形式で取得できます。
- 見ることもできます セットアップツアー asp.net モジュール アプリケーションで SSO 統合がどのように機能するかを理解します。
- ユーザー属性にアクセスしたい場所に、そのコード スニペットをコピーして貼り付けるだけです。
- 注意: トライアルモジュールでは、認証されたユーザーの詳細はセッション変数に保存されます。プレミアムプラグインでは、ヘッダーベース、フォームCookieベース、JWTベースの認証を使用したユーザークレームの設定がサポートされています。
6. ログイン設定
- ホバーオン アクションの選択 をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します SSO リンクをコピーします。
- SSO を実行するアプリケーション内のリンクとして次の URL を使用します。
https://<asp.net-module-base-url>/?ssoaction=login
- たとえば、次のように使用できます。
<a href="https://<asp.net-module-base-url>/?ssoaction=login">Log
in</a>
7. ログアウト設定
- SLO を実行するアプリケーションへのリンクとして次の URL を使用します。
https://<asp.net-module-base-url>/?ssoaction=logout
- たとえば、次のように使用できます。
<a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log
out</a>
関連記事
Get in Touch
までご連絡ください aspnetsupport@xecurify.com、弊社のチームがASP.NET Framework SAML SSOの設定をサポートいたします。お客様の要件に応じて最適なソリューション/プランの選定をお手伝いいたします。
