FusionAuth を IDP として使用して ASP.NET Framework SAML SSO を構成するためのガイド
概要
ASP.NET SAML シングルサインオン (SSO) モジュールを使用すると、ASP.NET アプリケーションでSAML シングルサインオンを有効にできます。シングルサインオンを使用すると、1 つのパスワードだけでASP.NET アプリケーションとサービスにアクセスできます。このモジュールは、すべてのSAML 準拠の ID プロバイダーと互換性があります。ここでは、 FusionAuth をIDプロバイダーとして、 ASP.NET とFusionAuth間でシングルサインオン (SSO)を構成する手順を順を追って説明します。
プラットフォームサポート: ASP.NET SAML SSOモジュールは、ASP.NET 3.5以降のフレームワークをサポートしています。
- トライアル
- Enterprise
前提条件: ダウンロードとインストール
- インストールするには miniOrange SAML SSO NuGet パッケージ .NET アプリケーションでは、アプリケーションの上に miniOrange NuGet パッケージをインストールするだけです。
NuGetパッケージ
.NET CLI
PM> NuGet\Install-Package miniOrange.SAML.SSO
> dotnet パッケージ miniOrange.SAML.SSO を追加
- インストール後、ブラウザを開き、以下の URL でモジュール ダッシュボードを参照します。
http(s)<your-dotnet-application-base-url>?ssoaction=config
- 登録ページまたはログイン ページがポップアップ表示されたら、アプリケーションに miniOrange SAML SSO モジュールが正常に追加されています。
- をクリックしてアカウントに登録またはログインします。 会員登録する ボタンを押してモジュールを設定します。
- 登録が完了すると、登録したメールアドレスに試用ライセンス キーが送信されます。
- モジュールをアクティブ化するには、次のいずれかを実行します。
- 入力する ライセンスキー 指定された入力フィールドに電子メールで受信されます。
- ダウンロードしたライセンスファイルをアップロードするには、 詳細
OR
- 次に、「上記の条件を読み、モジュールを有効化します」のボックスにチェックを入れ、 ライセンス認証
前提条件: ダウンロードとインストール
A] NuGet のインストール:
- にログインします http://portal.miniorange.com/ に移動します ダウンロード タブから購入したプラグインを見つけてクリックします プラグインのダウンロード プラグインの zip ファイルをダウンロードします。
- ダウンロードした zip ファイルをマシンに解凍し、NuGet パッケージ ファイル (.nupkg ファイル) を「C:\miniOrangePackages」などのフォルダーに配置します。
- パッケージ ソースとして追加するには、VS ターミナルで次のコマンドを実行します。
dotnet nuget add source C:\miniOrangePackages--name miniOrangePackage
- ターミナルでプロジェクトを開きます。
cd C:\Path\To\YourProject
- 以下のコマンドを使用して、プロジェクトにパッケージをインストールします。
dotnet add package miniOrange.SAML.SSO --source miniOrangePackage
OR
- NuGet パッケージ (.nupkg ファイル) をローカル フォルダーに配置した後、ターミナルを使用する代わりに、次の手順に従って Visual Studio を使用してインストールすることもできます。
- Visual Studioで.NETアプリケーションを開き、 ツール 上部のナビゲーションバーで、 NuGet パッケージ マネージャー → ソリューションの NuGet パッケージの管理.
- 新しいウィンドウが開きますので、 歯車のアイコン パッケージ ソース ドロップダウンの横にあります。
- ポップアップウィンドウが開きますので、 パッケージソース 左側のナビゲーションパネルからプラスをクリックします (+) アイコンに入力して 名 パッケージソースには、NuGetパッケージを配置したフォルダのパスを指定します。 ソース フィールドをクリックし、 更新 最後に OK 画像に示すように、変更を保存します。
- ポップアップウィンドウを閉じた後、新しく追加されたパッケージソースを パッケージソース ドロップダウン。
- 今すぐ ブラウズ タブ、検索 ミニオレンジ.SAML.SSO結果からパッケージを選択し、「インストール」をクリックします。
B] 手動インストール:
- ダウンロードしたパッケージを解凍します miniOrangeポータル. そこには 手動インストール フォルダ miniorange-saml-sso.dll アプリケーションの配置が必要なその他の DLL ファイル ビン フォルダにコピーします。
- 置き saml.config ファイルと miniOrangeContent アプリケーションのルートディレクトリにあるフォルダ。
- miniOrangeモジュールを登録してください web.config の手順に従うことで 統合.md.
モジュールダッシュボードにアクセス
- インストール後、ブラウザを開き、以下の URL でモジュール ダッシュボードを参照します。
http(s)<your-dotnet-application-base-url>?ssoaction=config
- ログインページが表示されたら、miniOrange SAML SSOモジュールをアプリケーションに正常に追加できました。
- ライセンスを取得したminiOrangeアカウントでログインして、モジュールを設定してください。
- ログイン後、 アカウントの設定 ダッシュボードが開きます。プラグインを有効化するには、ログイン後に受け取るライセンスキーを入力してください。 portal.miniorange.com そして、 ライセンスの管理 → ライセンスキー.
- 次に、ボックスにチェックを入れます 「上記の2つの条件を読み、プラグインを有効にしたいと思います」、をクリックします ライセンス認証
構成手順
1. FusionAuth ID プロバイダーに .NET アプリケーション メタデータを提供する
以下に、SAML SP メタデータを取得して ID プロバイダー側で構成する方法が 2 つあります。
A] SAMLメタデータURLまたはメタデータファイルを使用する
- プラグイン設定メニュー、 探す サービスプロバイダーの設定。その下に、メタデータ URL と SAML メタデータをダウンロードするオプションがあります。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
B] メタデータを手動でアップロードする
- ノーザンダイバー社の サービスプロバイダーの設定 セクションでは、サービスプロバイダのメタデータを手動でコピーすることができます。 SP エンティティ ID、ACS URL、シングル ログアウト URL、そしてそれをアイデンティティプロバイダーと共有して構成します。
- SP証明書は、以下のリンクをクリックしてダウンロードすることもできます。 SP証明書をダウンロード 必要に応じて、ID プロバイダーに提供します。
- 下 暗号化証明書 セクションで、要件に応じて適切な証明書の種類を選択します。
- 上記の手順を完了したら、 Save 構成を適用します。
- 以下のスクリーンショットを参照してください。
FusionAuth IdPの設定手順
- ログインする FusionAuth に移動して アプリケーション -> アプリケーション -> SAML.
- アプリケーションに名前を付けます 名前 フィールド。
- SAML設定、 使用可能 チェックボックスにチェックを入れて、次の値を入力します。
| 発行者 | Enter SPエンティティID / 発行者 プラグインのサービスプロバイダー設定タブから |
| Audience | Enter オーディエンスURI プラグインのサービスプロバイダー設定タブから。 |
| 承認されたリダイレクト URL | Enter ACS (アサーション コンシューマ サービス) URL プラグインのサービスプロバイダー設定タブから |
- 既存のものを選択することもできます。 署名キー ここで、または最初のオプションを選択して、FusionAuth に使用するキー ペアを生成させます。
- あなたの .
- 次に、「アプリケーション」の下で、 ビューアイコン 作成したばかりのアプリの。
- 見出しの下 SAML v2 統合の詳細、すべてが表示されます。 SAML エンドポイント URL その サービスプロバイダー 必要があります。
- 指定された情報をメモし、プラグインを設定するときにすぐに使えるように保管してください。
A] SAMLメタデータURLまたはメタデータファイルを使用する
- プラグイン設定メニュー、 探す サービスプロバイダーの設定。その下に、メタデータ URL と SAML メタデータをダウンロードするオプションがあります。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
B] メタデータを手動でアップロードする
- ノーザンダイバー社の サービスプロバイダーの設定 セクションでは、次のようなサービス プロバイダーのメタデータを手動でコピーできます。 SP エンティティ ID、ACS URL、シングル ログアウト URL そして、それを構成のためにアイデンティティプロバイダーと共有します。
- 以下のスクリーンショットを参照してください。
FusionAuth IdPの設定手順
- ログインする FusionAuth に移動して アプリケーション -> アプリケーション -> SAML.
- アプリケーションに名前を付けます 名前 フィールド。
- SAML設定、 使用可能 チェックボックスにチェックを入れて、次の値を入力します。
| 発行者 | Enter SPエンティティID / 発行者 プラグインのサービスプロバイダー設定タブから |
| Audience | Enter オーディエンスURI プラグインのサービスプロバイダー設定タブから。 |
| 承認されたリダイレクト URL | Enter ACS (アサーション コンシューマ サービス) URL プラグインのサービスプロバイダー設定タブから |
- 既存のものを選択することもできます。 署名キー ここで、または最初のオプションを選択して、FusionAuth に使用するキー ペアを生成させます。
- あなたの .
- 次に、「アプリケーション」の下で、 ビューアイコン 作成したばかりのアプリの。
- 見出しの下 SAML v2 統合の詳細、すべてが表示されます。 SAML エンドポイント URL その サービスプロバイダー 必要があります。
- 指定された情報をメモし、プラグインを設定するときにすぐに使えるように保管してください。
2. .NETアプリケーションでFusionAuthアイデンティティプロバイダメタデータを構成する
- 以下を行うには、 IDPを選択してください 新しい ID プロバイダーを構成するためのボタン。
- 下 プラグインの設定 タブ、選択 FusionAuth 表示されたリストから ID プロバイダーとして選択します。
モジュールで SAML ID プロバイダーのメタデータを構成するには、以下に説明する 2 つの方法があります。
A] [IDP メタデータのアップロード] ボタンを使用してメタデータをアップロードします。
- ID プロバイダーがメタデータ URL またはメタデータ ファイル (.xml 形式のみ) を提供している場合は、モジュールで ID プロバイダーのメタデータを簡単に構成できます。 IDPメタデータのアップロード オプションを選択します。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
- 使用可能なメタデータ形式に応じて、オプションのいずれかを選択できます。
B] ID プロバイダーのメタデータを手動で構成します。
- を構成した後 ID プロバイダー、それはあなたに提供します IDPエンティティID、IDPシングルサインオンURL (NAIST) と SAML X509証明書 それぞれフィールド。
- 詳しくはこちら Save IDP の詳細を保存します。
- 以下を行うには、 新しい IDP を追加 新しい ID プロバイダーを構成するためのボタン。
- 下 プラグインの設定 タブ、選択 FusionAuth 表示されるリストから ID プロバイダーとして選択します。
モジュールで SAML ID プロバイダーのメタデータを構成するには、以下に説明する 2 つの方法があります。
A] [IDP メタデータのアップロード] ボタンを使用してメタデータをアップロードします。
- ID プロバイダーがメタデータ URL またはメタデータ ファイル (.xml 形式のみ) を提供している場合は、モジュールで ID プロバイダーのメタデータを簡単に構成できます。 IDPメタデータのアップロード オプションを選択します。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
- 使用可能なメタデータ形式に応じて、オプションのいずれかを選択できます。
B] ID プロバイダーのメタデータを手動で構成します。
- を構成した後 ID プロバイダー、それはあなたに提供します IDPエンティティID、IDPシングルサインオンURL (NAIST) と SAML X509証明書 それぞれフィールド。
- 詳しくはこちら Save IDP の詳細を保存します。
3. SAML SSO のテスト
- メタデータの詳細をアップロードした後、 ID プロバイダーの設定 セクション。 アクションの選択 ドロップダウンをクリックして テスト構成.
- 以下のスクリーンショットは、成功した結果を示しています。 クリック SSO統合 SSO 統合をさらに続行します。
- モジュール側でエラーが発生した場合は、以下のようなウィンドウが表示されます。
- エラーのトラブルシューティングを行うには、次の手順に従います。
- 解決します タブで、プラグイン ログを受信するためのトグルを有効にします。
- 有効にすると、次の場所に移動してプラグイン ログを取得できるようになります。 プラグインの設定 タブをクリックしてクリックします テスト構成.
- ダウンロード ログファイル 解決します タブをタップして、何が問題だったのかを確認してください。
- あなたは共有することができます ログファイル 私たちと一緒に aspnetsupport@xecurify.com 私たちのチームが問題を解決するためにご連絡いたします。
- メタデータの詳細をアップロードした後、 ID プロバイダーの設定 セクション。 アクションの選択 ドロップダウンをクリックして テスト構成.
- 下のスクリーンショットはテスト成功例です。クリックしてください。 こちらをクリックしてください。 残りの SSO 統合手順を完了します。
- モジュール側でエラーが発生した場合は、以下のようなウィンドウが表示されます。
- エラーのトラブルシューティングを行うには、次の手順に従います。
- 解決します タブで、プラグイン ログを受信するためのトグルを有効にします。
- 有効にすると、次の場所に移動してプラグイン ログを取得できるようになります。 プラグインの設定 タブをクリックしてクリックします テスト構成.
- ダウンロード ログファイル 解決します タブをタップして、何が問題だったのかを確認してください。
- あなたは共有することができます ログファイル 私たちと一緒に aspnetsupport@xecurify.com 私たちのチームが問題を解決するためにご連絡いたします。
4. 属性マッピング
- 構成をテストした後、アプリケーション属性を ID プロバイダー (IdP) 属性にマップします。
- miniOrange ASP.NET SAML SSOモジュールの左側のメニューから、 属性/役割のマッピング 画像に示すようにタブをクリックします。
- IdPから追加の属性を渡したい場合は、属性名と対応する属性値を入力します。 カスタム属性マッピング.
- 注意: マッピングされた属性はすべてセッションに保存されるため、アプリケーション内でそれらにアクセスできます。
- 属性がマッピングされたら、 属性マッピングの保存 変更を適用します。
- 構成をテストした後、アプリケーション属性を ID プロバイダー (IdP) 属性にマップします。
- miniOrange ASP.NET SAML SSOモジュールの左側のメニューから、 属性/役割のマッピング 画像に示すようにタブをクリックします。
- 必要なマップ IdP属性 SAML レスポンスで受信した情報 (ユーザー名、メール アドレス、名、姓など) を対応するフィールドに追加します。
- 注意: マッピングされた属性はすべてセッションに保存されるため、アプリケーション内でそれらにアクセスできます。
- 属性がマッピングされたら、 属性マッピングの保存 変更を適用します。
カスタム属性マッピング
- IdPから追加の属性を渡したい場合は、属性名と対応する属性値を入力します。 カスタム属性マッピング.
- ノーザンダイバー社の 属性値(クレーム) ドロップダウンから、テスト構成の結果で受け取ったクレームの1つを選択します。例:NameID。
- これらのクレームは、アイデンティティ プロバイダー (IdP) によって送信された属性に対応します。
- これらのクレームは、アイデンティティ プロバイダー (IdP) によって送信された属性に対応します。
- 属性名 フィールドに、.NET アプリケーションで表示または使用する属性の名前を入力します。
- アプリケーションで複数の属性が必要な場合は、 +
- 必要なマッピングをすべて定義したら、 属性マッピングの保存 設定を保存します。
- このモジュールは、IDプロバイダー(IdP)から受信したSSOクレームを、ここで定義されたカスタム属性名に変換します。
役割のマッピング
- 役割のマッピング セクションで、 グループ属性名 ユーザー グループ情報を取得するには、ID プロバイダーで設定されているとおりに実行します。
- 入力する 役割名 アイデンティティプロバイダから受信し、適切な 役割価値 フィールド。「ロール値」フィールドに、.NET アプリケーションで定義されているロールを入力します。
- たとえば、UserGroups 属性で受信した IdP グループ Group1 または Group10 を、.NET アプリケーションで構成されている対応するロールにマップします。
- 必要なマッピングを追加したら、 ロールマッピングを保存 設定を正常に保存します。
ドメイン制限
- この機能を使用すると、マッピングされた「メールアドレス」属性のドメインに基づいて、ユーザーのサイトへのアクセスを制限できます。
- 電子メールの属性 フィールドに、アイデンティティプロバイダー (IdP) から受け取ったユーザーの電子メールアドレスを含む属性名を入力します。
- ドメイン名 フィールドに、許可または制限するドメインを入力します。複数のドメインを追加する場合は、カンマで区切ります。
- 有効にします 制限トグル 要件に応じてブラックリストまたはホワイトリストのアクセスを構成します。
- 設定が完了したら、 ドメインを保存 設定を正常に保存します。
5. 統合コード
- これらの手順により、アプリケーション内でセッションの形式でSSOユーザー情報を取得できます。
- 見ることもできます セットアップツアー ASP.NETモジュールアプリケーションでSSO統合がどのように機能するかを理解する。
- ユーザー属性にアクセスしたい場所に、そのコードスニペットをコピー&ペーストするだけです。
- 注意: トライアルモジュールでは、認証されたユーザーの詳細はセッション変数に保存されます。プレミアムプラグインでは、ヘッダーベース、フォームCookieベース、JWTベースの認証を使用したユーザークレームの設定がサポートされています。
- これらの手順により、アプリケーション内でセッションの形式でSSOユーザー情報を取得できます。
- 見ることもできます セットアップツアー ASP.NETモジュールアプリケーションでSSO統合がどのように機能するかを理解する。
- ユーザー属性にアクセスしたい場所に、そのコードスニペットをコピー&ペーストするだけです。
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>
- ホバーオン アクションの選択 をクリックします。入力したコードが正しければ、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>
- SLO を実行するアプリケーションへのリンクとして次の URL を使用します。
https://<asp.net-module-base-url>/?ssoaction=logout
- たとえば、次のように使用できます。
<a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log out</a>
関連記事
ご返信ありがとうございます。近日中にご連絡させていただきます。
何か問題が発生しました。 もう一度質問を送信してください
