Keycloak を OAuth プロバイダーとして使用した DNN OAuth シングル サインオン (SSO)
概要
DNN OAuth シングル サインオン (SSO) 認証プロバイダは、 OAuth シングル サインオン あなたのために DotNetNuke サイト。使用 シングル・サインオン アクセスするには1つのパスワードのみ使用できます DotNetNuke サイトとサービス。当社の認証プロバイダーは、すべての OAuth準拠のIDプロバイダーここでは、設定するためのステップバイステップのガイドを紹介します。 シングルサインオン(SSO) DNNとKeyclockの比較 OAuthプロバイダーとしてのKeyclcok.
前提条件: ダウンロードとインストール
1. ダウンロード 上記のリンクにある DNN Oauth シングル サインオン認証プロバイダー。
2. インストールパッケージdnn-oauth-single-sign-on_xxx_Installをアップロードします。 設定 > 拡張機能 > 拡張機能をインストール.
3. 現在、 インストールされている拡張機能タブ select 認証システム。 ここであなたは見ることができます miniOrange DNN OAuth 認証プロバイダー。
4. 下の画像に示すように鉛筆アイコンをクリックして、DNN OAuth 認証プロバイダーを構成します。
5. 次にサイト設定タブに移動します。ここでDNN OAuth認証プロバイダーダッシュボードが表示されます。
6. DNN サイトへの認証プロバイダーのインストールが完了しました。
Keylock を IDP として使用して DNN シングル サインオン (SSO) を構成する手順
1. OAuth シングル サインオン (SSO) をセットアップするための認証プロバイダーを構成する
- 認証プロバイダーでアプリケーションを構成するには、「アイデンティティープロバイダー設定」タブの「新規プロバイダーの追加」ボタンをクリックします。
- 選択する ID プロバイダーとしての Key Clock リストから。検索ボックスを使用して ID プロバイダーを検索することもできます。
2. KeycloakをOAuthプロバイダーとして構成する
- まず第一に、 Keycloakをダウンロード し、それをインストールしてください。
- Keycloakのバージョンに応じてKeycloakサーバーを起動します。(下の表を参照)
| Keycloakバージョン16以下の場合 |
keycloakのルートディレクトリに移動します ビン スタンドアロン.sh |
| Keycloakバージョン17以降の場合 |
keycloakのルートディレクトリに移動します ビン kc.バット そして以下のコマンドを実行します。
|
DNN OAuth Keycloak SSOを実現するために、KeycloakをIdPとして設定するには、以下の手順に従ってください。
Keycloakのバージョンを選択してください:
- レルムを追加します: 次に、Keycloak管理コンソールにログインし、希望するレルムに移動します。新しいレルムを追加するには、以下を選択します。 レルムの追加 オプションを選択します。
- レルムを作成します。 Enter レルム名 レルム名は、後でOAuthクライアントプラグインでレルムを設定するときに必要になるので、覚えておいてください。 CREATE レルムを追加します。
- OpenID クライアントを作成します。 以下を行うには、 取引実績 選択して 作ります 新しいクライアントを作成します。 クライアント ID を入力し、クライアント プロトコルを選択します オープンエイド接続 をクリックして Save.
- アクセスタイプを変更します: クライアントが作成されたら、そのアクセス タイプを次のように変更します。 秘密の.
- 有効なリダイレクト URI を入力してください: プラグインからコールバック URL をコピーし、クリックします。
保存。 元 -- https://
/oauth/コールバック - クライアント シークレットを取得します。 次に、クライアント シークレットを取得する必要があります。 それで選択してください 取引実績 資格情報を選択し、ここからシークレットをコピーします。
- プラグイン構成: コピーしたものを入力してください クライアントシークレット 下 クライアントの秘密 OAuth クライアント プラグインのフィールドに、 クライアント名 [クライアント ID] フィールドの下にある
- ユーザーを追加する: レルムのリソースにアクセスできるユーザーをレルムに追加する必要があります。クリックしてください ユーザー そして選択する 新しいユーザーを追加します。
- ユーザー設定: ユーザーを作成したら、次のアクションを実行する必要があります。
- マップユーザー: ユーザーをロールにマップする必要があります。 クリック 役割のマッピング 利用可能な役割からユーザーに希望の役割を割り当て、 をクリックします。 選択したものを追加します。
- ロールを作成します。 ロールは、アプリケーションへのアクセスを許可するユーザーを定義するためにアプリケーションによって使用されます。 役割 そして「追加」を選択します 職種.
- グループを作成します。 以下を行うには、 グループ 選択して New 新しいグループを作成します。
- ユーザーをグループに割り当てます: グループに追加したいユーザーを選択します。タブからグループオプションを選択し、グループ名を選択してクリックします。 join.
- Keycloakグループマッパー: ここで、グループの詳細を取得するには、グループ メンバーシップを使用してクライアント マッピングを実行する必要があります。そうしないと、グループの詳細が取得されません。それで クライアントセクションをクリックし、クライアントを選択して、 マッパー->作成.
- 今、選択 マッパータイプ as グループメンバーシップ そして、入力します。 名前とトークンクレーム名 つまり、取得するグループに対応する属性名です。完全なグループパス、IDトークンに追加、アクセストークンに追加のオプションをオフにして、 Save.
- Keycloakロールマッパー: ロールの詳細を取得するには、ロールのメンバーシップを使用してクライアントのマッピングを実行する必要があります。そうしないと、ロールの詳細が取得されません。 クライアントセクションをクリックし、クライアントを選択して、 マッパー->作成.
- 今、選択 マッパータイプ as ユーザーレルムの役割 メンバーシップを入力して、 名。 そして トークンクレーム名 つまり、取得するグループに対応する属性名です。IDトークンに追加とアクセストークンに追加のオプションを選択し、 Save.
- レルムを追加します: 次に、Keycloak管理コンソールにログインし、希望するレルムに移動します。新しいレルムを追加するには、以下を選択します。 レルムの作成 オプションを選択します。
- レルムを作成します。 Enter レルム名 レルム名は、後でOAuthクライアントプラグインでレルムを設定するときに必要になるので、覚えておいてください。 CREATE レルムを追加します。
- OpenID クライアントを作成します。 以下を行うには、 取引実績 選択して クライアントの作成 新しいクライアントを作成します。 クライアント ID を入力し、クライアント プロトコルを選択します オープンエイド接続 とクリック 次へ.
- 有効にします クライアント認証 Authorization トグル。
- 下にスクロールして アクセス設定 そしてあなたの コールバック/リダイレクト URL これはクライアント側のminiOrangeプラグインから取得できます。 コールバック URL テキストフィールド。
- に行きます Credentials タブ、コピー クライアントシークレット 後で WordPress OAuth シングル サインオン プラグインを構成するときに必要になるので、手元に置いておいてください。
- プラグイン構成: コピーしたものを入力してください クライアントシークレット 下 クライアントの秘密 OAuthクライアントプラグインのフィールドに 顧客ID 下 顧客ID フィールド。
- ユーザーを追加する: レルムのリソースにアクセスできるユーザーをレルムに追加する必要があります。 ユーザー をクリックします 新しいユーザーを作成する 新しいユーザーを追加します。
- ユーザー設定: ユーザーを作成したら、次のアクションを実行する必要があります。
- マップユーザー: ユーザーをロールにマップする必要があります。 クリック 役割のマッピング 利用可能なロールからユーザーの希望のロールを割り当てます。
- ロールを作成します。 ロールは、アプリケーションへのアクセスを許可するユーザーを定義するためにアプリケーションによって使用されます。 役割 選択して ロールを作成.
- レルムを追加します: 次に、Keycloak管理コンソールにログインし、希望するレルムに移動します。新しいレルムを追加するには、以下を選択します。 レルムの作成 オプションを選択します。
- レルムを作成します。 Enter レルム名 レルム名は、後でOAuthクライアントプラグインでレルムを設定するときに必要になるので、覚えておいてください。 CREATE レルムを追加します。
- OpenID クライアントを作成します。 以下を行うには、 取引実績 選択して クライアントの作成 新しいクライアントを作成します。 クライアント ID を入力し、クライアント プロトコルを選択します オープンエイド接続 とクリック 次へ.
- 有効にします クライアント認証 Authorization トグル。
- 下にスクロールして アクセス設定 そしてあなたの コールバック/リダイレクト URL これはクライアント側のminiOrangeプラグインから取得できます。 コールバック URL テキストフィールド。
- に行きます Credentials タブ、コピー クライアントシークレット 後で WordPress OAuth シングル サインオン プラグインを構成するときに必要になるので、手元に置いておいてください。
- プラグイン構成: コピーしたものを入力してください クライアントシークレット 下 クライアントの秘密 OAuthクライアントプラグインのフィールドに 顧客ID 下 顧客ID フィールド。
- ユーザーを追加する: レルムのリソースにアクセスできるユーザーをレルムに追加する必要があります。 ユーザー をクリックします 新しいユーザーを作成する 新しいユーザーを追加します。
- ユーザー設定: ユーザーを作成したら、次のアクションを実行する必要があります。
- マップユーザー: ユーザーをロールにマップする必要があります。 クリック 役割のマッピング 利用可能なロールからユーザーの希望のロールを割り当てます。
- 1) パスワードを設定するので、 をクリックします。 Credentials
ユーザーの新しいパスワードを設定します。
注意: 一時的を無効にすると、ユーザー パスワードは永続的になります。
ステップ 1.1: Keycloak グループを取得する手順 【プレミアム】
注: -- フルパスがグループ上にある場合は、グループパスがフェッチされ、それ以外の場合はグループ名がフェッチされます。
ステップ 1.2: Keycloak ロールを取得する手順 【プレミアム】
- 1) パスワードを設定するので、 をクリックします。 Credentials
ユーザーの新しいパスワードを設定します。
注意: 一時的を無効にすると、ユーザー パスワードは永続的になります。
- 1) パスワードを設定するので、 をクリックします。 Credentials
ユーザーの新しいパスワードを設定します。
注意: 一時的を無効にすると、ユーザー パスワードは永続的になります。
結論として、正常に設定することで、 OAuthプロバイダーとしてのKeycloak、DNN OAuth Keycloak SSO ログインとエンドユーザーの DNN への認可が有効になりました。
3. OAuthプロバイダーの構成
- リダイレクト/コールバック URL をコピーし、OAuth プロバイダーに提供します。
4. OAuth クライアントの構成
- 構成 顧客ID, クライアントシークレット、更新 エンドポイント 必要に応じて設定を保存します。
5. テスト構成
- 今すぐ ID プロバイダーの設定 タブには何も表示されないことに注意してください。
- アクションの選択の下で、 テスト構成 ボタンをクリックして、認証プロバイダーが正しく構成されているかどうかを確認します。
- 構成が成功すると、「テスト構成」ウィンドウに属性名と属性値が表示されます。
6. 属性マッピング
- 属性マッピングの場合は、 設定の編集 アクションの選択ドロップダウンから。
- 電子メールとユーザー名を次のようにマッピングします 属性名 [テスト構成] ウィンドウで確認し、設定を保存できます。
設定することもできます ASP.NET SAML シングル サインオン (SSO) などの任意の ID プロバイダーを備えたモジュール ADFS、Azure AD、Bitium、Centrify、G Suite、JBoss Keycloak、Okta、OneLogin、Salesforce、AWS Cognito、OpenAM、Oracle、PingFederate、PingOne、RSA SecureID、Shibboleth-2、Shibboleth-3、SimpleSAML、WSO2 またはあなた自身のものでも カスタム ID プロバイダー。 他の ID プロバイダーを確認するには、をクリックします。 こちら
関連記事
Get in Touch
までご連絡ください dnnsupport@xecurify.com弊社のチームがDNN OAuthシングルサインオンの設定をサポートいたします。お客様のご要望に応じて、最適なソリューション/プランの選定をお手伝いいたします。
