PingFederateをIDPとして使用してUmbraco SAML SSOを設定するためのガイド
概要
Umbraco SAML シングルサインオン (SSO)プラグインを使用すると、Umbraco アプリケーションでSAML シングルサインオンを有効にできます。シングルサインオンを使用すると、1 つのパスワードだけでUmbraco アプリケーションとサービスにアクセスできます。このプラグインは、すべてのSAML 準拠の ID プロバイダーと互換性があります。ここでは、 PingFederate をIDプロバイダーとして、 UmbracoとPingFederate間でシングルサインオン (SSO) を設定する手順を順を追って説明します。
SSO を構成する umbraco バージョンを選択してください:
前提条件: ダウンロードとインストール
- NuGet ストアからインストールする
- 手動インストール
- NuGet ストアからインストールする
- 手動インストール
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 9.2.3
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 9.2.3
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 スタートアップ.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 スタートアップ.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
namespace Application
{
public class Startup
{
// Add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddUmbraco(_env, _config)
.AddBackOffice()
.AddWebsite()
.AddComposers()
.Build();
services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseInstallerEndpoints();
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
}
}
}
- 構成が完了したら、アプリケーションを実行します。
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 10.2.3
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 10.2.3
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 スタートアップ.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 スタートアップ.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
namespace Application
{
public class Startup
{
// Add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddUmbraco(_env, _config)
.AddBackOffice()
.AddWebsite()
.AddComposers()
.Build();
services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseInstallerEndpoints();
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
}
}
}
- 構成が完了したら、アプリケーションを実行します。
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 11.2.3
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 11.2.3
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 プログラム.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 プログラム.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- 構成が完了したら、アプリケーションを実行します。
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 12.2.3
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 12.2.3
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 プログラム.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 プログラム.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- 構成が完了したら、アプリケーションを実行します。
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 13.2.3
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 13.2.3
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 プログラム.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 プログラム.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- 構成が完了したら、アプリケーションを実行します。
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 14.2.3
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 14.2.3
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 プログラム.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 プログラム.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- 構成が完了したら、アプリケーションを実行します。
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 15.2.4
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 15.2.4
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 プログラム.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 プログラム.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- 構成が完了したら、アプリケーションを実行します。
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 16.2.4
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 16.2.4
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 プログラム.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 プログラム.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- 構成が完了したら、アプリケーションを実行します。
PM> NuGet\Install-Package miniOrange.Umbraco.SAML.SSO.Login - バージョン 17.2.4
> dotnet パッケージ miniOrange.Umbraco.SAML.SSO.Login を追加 -- バージョン 17.2.4
- ダウンロード Umbraco SAML シングル サインオン (SSO) ミドルウェア。
- ミドルウェアを設定するには、以下の名前空間、サービス、ミドルウェアをに追加する必要があります。 プログラム.cs ファイル(緑色でマークされています)の下にサンプル例を示します。
以下のハイライトされた部分のみを含めてください。 プログラム.cs アプリケーションのファイル。
using miniOrange.saml;
using System.Reflection;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddDeliveryApi()
.AddComposers()
.Build();
// Add services to the container.
builder.Services.AddminiOrangeServices(Assembly.GetExecutingAssembly());
WebApplication app = builder.Build();
await app.BootUmbracoAsync();
app.UseUmbraco()
.WithMiddleware(u =>
{
u.UseBackOffice();
u.UseWebsite();
u.AppBuilder.UseminiOrangeSAMLSSOMiddleware();
})
.WithEndpoints(u =>
{
u.UseBackOfficeEndpoints();
u.UseWebsiteEndpoints();
});
await app.RunAsync();
- 構成が完了したら、アプリケーションを実行します。
構成手順
PingFederateをIDプロバイダーとして使用したUmbraco SAML SSOの手順ガイド。
1. Umbraco SAMLプラグインダッシュボードにアクセスします。
- 統合後、ブラウザを開き、以下の URL でコネクタ ダッシュボードを参照します。
https://<umbraco-base-url>/?ssoaction=config
- 登録ページまたはログイン ページがポップアップ表示されたら、アプリケーションに miniOrange SAML SSO ミドルウェアが正常に追加されています。
- をクリックしてアカウントに登録またはログインします。 会員登録する ボタンをクリックしてミドルウェアを設定します。
- 登録が完了すると、登録したメールアドレスに試用ライセンス キーが送信されます。
- ミドルウェアをアクティブ化するには、次のいずれかを実行します。
- 入力する ライセンスキー 指定された入力フィールドに電子メールで受信されます。
- ダウンロードしたライセンスファイルをアップロードするには、 詳細
OR
- 次に、「上記の条件を読み、ミドルウェアを有効化します」のボックスにチェックを入れ、 ライセンス認証
2. UmbracoアプリケーションのメタデータをPingFederate IDプロバイダーに提供する
以下に、SAML SP メタデータを取得して ID プロバイダー側で構成する方法が 2 つあります。
A] SAMLメタデータURLまたはメタデータファイルを使用する
- プラグイン設定メニュー、 探す サービスプロバイダーの設定その下には、メタデータのURLと、SAMLメタデータをダウンロードするオプションがあります。
- メタデータ URL をコピーするか、メタデータ ファイルをダウンロードして、ID プロバイダー側で同じものを構成します。
- 以下のスクリーンショットを参照してください。
B] メタデータを手動でアップロードする
- ノーザンダイバー社の サービスプロバイダーの設定 セクションでは、サービスプロバイダのメタデータを手動でコピーすることができます。 SP エンティティ ID、ACS URL、シングル ログアウト URL そして、それを構成のためにアイデンティティプロバイダーと共有します。
- 以下のスクリーンショットを参照してください。
- Ping Federate User Admin ダッシュボードにログインします。
- 以下を行うには、 ID プロバイダー 左側のナビゲーション メニューにあります。
- SP接続 新規作成
- まず ブラウザの SSO プロファイル の接続テンプレート 接続タイプ タブをクリックして 次へ.
- でブラウザ SSO を選択します。 接続オプション タブをクリックして「次へ」をクリックします。
- 選択 File メタデータをインポートする方法として「ファイルを選択」をクリックし、miniOrange SSOプラグインのメタデータを選択します。 メタデータのインポート タブ。 クリック 次へ.
- の情報を確認します。 メタデータの概要 タブをクリックして 次へ.
- 一般的な情報 タブで サービスプロバイダーのエンティティID, 接続名, Base URL フィールドはメタデータに基づいて事前に設定されます。 クリック 次へ.
- に移動します ブラウザSSO タブをクリックして ブラウザのSSOを構成する。 ブラウザ SSO セットアップ ウィザードにリダイレクトされます。
- まず IdP によって開始される SSO (NAIST) と SP によって開始される SSO のオプション SAMLプロファイル タブをクリックして 次へ.
- 希望するアサーション有効時間を入力します。 アサーションの存続期間 タブをクリックして「次へ」をクリックします。デフォルトでは、どちらも5分に設定されています。
- アサーション作成に移動し、「アサーション作成の構成」をクリックします。 アサーション作成セットアップ ウィザードにリダイレクトされます。
- 「アイデンティティ・マッピング」タブで「標準」を選択し、「次へ」をクリックします。
- SAML_SUBJECT のサブジェクト名の形式を選択します。 属性契約 タブをクリックして「次へ」をクリックします。
- 詳しくはこちら 新しいアダプター インスタンスをマップする 認証ソースのマッピング.
- 選択する アダプターインスタンス をクリックし 次へ。 アダプターにはユーザーの電子メール アドレスが含まれている必要があります。
- まず SAML アサーションではアダプター コントラクト値のみを使用します。 オプション マッピング方法 タブをクリックして 次へ.
- アダプタ インスタンスを ソース そして電子メールは 値 属性契約の履行 タブをクリックして 次へ.
- (オプション) 必要な認可条件を選択します。 発行基準 タブをクリックして 次へ.
- 詳しくはこちら クリックします 製品概要.
- 詳しくはこちら 次へ 認証ソースのマッピング タブには何も表示されないことに注意してください。
- 詳しくはこちら クリックします [概要] タブで。
- 詳しくはこちら 次へ アサーションの作成.
- ブラウザ SSO ウィザードの [プロトコル設定] タブに移動し、[プロトコル設定の構成] をクリックします。
- 投稿を選択してください バインディング シングルサインオンを指定します エンドポイント URL の「エンドポイント URL」フィールドに、 アサーション コンシューマ サービス URL 詳しくはこちら 次へ.
- 選択 POST 許可される SAML バインディング タブをクリックして 次へ.
- アサーションに必要な署名ポリシーを選択します。 署名ポリシー タブをクリックして 次へ.
- アサーションに必要な暗号化ポリシーを選択します。 暗号化ポリシー タブをクリックして 次へ.
- 詳しくはこちら クリックします プロトコル設定の概要 タブには何も表示されないことに注意してください。
- に移動します Credentials
とをクリックしてください 資格情報の構成。 にリダイレクトされます Credentials
セットアップウィザード。
- シングルサインオンサービスで使用する署名証明書を選択し、署名要素に証明書を含めるを選択します。 デジタル署名の設定 タブ。[完了]をクリックします。
- 詳しくはこちら クリックします 製品概要.
- 詳しくはこちら 次へ Credentials .
- 選択 有効 接続状態 アクティベーションと概要 タブをクリックして Save.
- 次に、Ping Federateユーザー管理ダッシュボードの「IDプロバイダー」に移動します。
- 詳しくはこちら すべてを管理 下 SP接続.
- 詳しくはこちら メタデータのエクスポート 必要なサービスプロバイダー接続に対応します。
- 詳しくはこちら エクスポート エクスポートとサマリー タブをクリックして、「完了」をクリックします。
Umbracoのシングルサインオン(SSO)を実現するためのSAML IDP(アイデンティティプロバイダー)として、PingFederateの設定が正常に完了しました。
3. UmbracoアプリケーションでPingFederate IDプロバイダーのメタデータを設定する
- 以下を行うには、 新しい IDP を追加 新しい ID プロバイダーを構成するためのボタン。
- 下 プラグインの設定 タブ、選択 Pingフェデレート 表示されるリストから 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 の詳細を保存します。
4. SAML SSO のテスト
- メタデータの詳細をアップロードした後、 ID プロバイダーの設定 セクション。 アクションの選択 ドロップダウンをクリックして テスト構成.
- 以下のスクリーンショットは、成功した結果を示しています。 クリック SSO統合 SSO 統合をさらに続行します。
- ミドルウェア側でエラーが発生した場合は、以下のようなウィンドウが表示されます。
- エラーのトラブルシューティングを行うには、次の手順に従います。
- 解決します タブで、プラグイン ログを受信するためのトグルを有効にします。
- 有効にすると、次の場所に移動してプラグイン ログを取得できるようになります。 プラグインの設定 タブをクリックしてクリックします テスト構成.
- ダウンロード ログファイル 解決します タブをタップして、何が問題だったのかを確認してください。
- あなたは共有することができます ログファイル 私たちと一緒に umbracosupport@xecurify.com 私たちのチームが問題を解決するためにご連絡いたします。
Umbracoログインタイプ
- この後、 ログインタイプ IDプロバイダー設定ページの右側にあるドロップダウンメニューから選択します。
- あなたはから選ぶことができます バックオフィス, Memberまたは カスタム属性ベース.
- 注意: その カスタム属性ベース ログインタイプは プレミアムサーマルバッグ (NAIST) と Enterprise バージョン。
5. 属性マッピング
- 属性マッピング、ロールマッピング、ドメイン制限は、 プレミアムサーマルバッグ (NAIST) と Enterprise ミドルウェアのバージョン。
6. ログイン設定
- ホバーオン アクションの選択 をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します SSO リンクをコピーします。
- SSO を実行するアプリケーション内のリンクとして次の URL を使用します。
https://<umbraco-base-url>/?ssoaction=login
- たとえば、次のように使用できます。
<a href="https://<umbraco-base-url>/?ssoaction=login">Log in</a>
7. ログアウト設定
- SLO を実行するアプリケーションへのリンクとして次の URL を使用します。
https://<umbraco-base-url>/?ssoaction=logout
- たとえば、次のように使用できます。
<a href="https://<umbraco-base-url>/?ssoaction=logout">Log out</a>
関連記事
ご返答ありがとうございます。 すぐにご連絡させていただきます。
何か問題が発生しました。 もう一度質問を送信してください
