WordPress OAuth で Keycloak シングル サインオン (SSO) を認証する
概要
セットアップ シングルサインオン(SSO) WP OAuth & OpenID Connect シングル サインオン プラグインを使用して、Keycloak WordPress SSO 経由で WordPress ウェブサイトにログインします。Keycloak を使用して WordPress SSO を実装すると、ユーザーは Keycloak SSO OAuth プロバイダーを使用して、単一の認証情報セットでウェブサイトやアプリケーションにログインできるようになります。 Keycloak は OAuth プロバイダーとして機能し、WordPress は OAuth クライアントとして機能します。 WordPress キークローク SSO ワンクリックでKeycloak SSOログインを使用してWordPressとKeycloak間のスムーズなログインを実現します。WordPress SSOプラグインは、次のような高度なKeycloak SSO機能も提供します。 ユーザープロファイル属性マッピング、ロールマッピング、組織のメールドメインに基づいてサイトへのアクセスを提供します。また、WordPressサイト全体をSSOで保護することもできます。Keycloak WordPress OAuth SSO プラグインは、ユーザーのログイン プロセスを保護し、Keycloak WordPress SSO を使用してユーザー認証を改善します。このプラグインをインストールして WordPress SSO を設定するには、以下のガイドの手順に従ってください。
前提条件: ダウンロードとインストール
- WordPress インスタンスに管理者としてログインします。
- WordPress に移動します ダッシュボード -> プラグイン をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します 新規追加.
- を検索 WordPress OAuth シングル サインオン (SSO) プラグインを選択してクリックします 今すぐインストール.
- インストールしたら、をクリックします アクティブにしましょう.
- まず第一に、 Keycloakをダウンロード し、それをインストールしてください。
- キークロークサーバーを起動します キークロークのバージョンに基づいて。 (下の表を参照)
Keycloakバージョン16以下の場合 |
keycloakのルートディレクトリに移動します ビン スタンドアロン.sh |
Keycloakバージョン17以降の場合 |
keycloakのルートディレクトリに移動します ビン kc.バット そして以下のコマンドを実行します。
|
構成手順
ステップ 1: Keycloak を OAuth プロバイダーとして設定する
WordPress Keycloak SSOを実現するために、KeycloakをIdPとして設定するには、以下の手順に従ってください。
Keycloakのバージョンを選択してください:
- レルムを追加します: 次に、Keycloak管理コンソールにログインし、希望するレルムに移動します。新しいレルムを追加するには、以下を選択します。 レルムの追加 オプションを選択します。
- レルムを作成します。 入力します レルム名 レルム名は後で設定するときに必要になるので、手元に置いてください。 レルム OAuthクライアントプラグインの下にある CREATE レルムを追加します。
- OpenID クライアントを作成します。 セットアップボタンをクリックすると、セットアップが開始されます 取引実績 選択して 作ります 新しいクライアントを作成します。 クライアント ID を入力し、クライアント プロトコルを選択します オープンエイド接続 をクリックして Save.
- アクセスタイプを変更します: クライアントが作成されたら、そのアクセス タイプを次のように変更します。 秘密の.
- 有効なリダイレクト URI を入力してください: プラグインからコールバック URL をコピーし、クリックします。
保存。 元 -- https://
/oauth/コールバック - クライアント シークレットを取得します。 次に、クライアント シークレットを取得する必要があります。 それで選択してください 取引実績 資格情報を選択し、ここからシークレットをコピーします。
- プラグイン構成: コピーしたものを入力してください クライアントシークレット 下 クライアントの秘密 OAuth クライアント プラグインのフィールドに、 クライアント名 [クライアント ID] フィールドの下にある
- ユーザーを追加する: レルムのリソースにアクセスできるユーザーをレルムに追加する必要があります。クリックしてください ユーザー そして選択する 新しいユーザーを追加します。
- ユーザー設定: ユーザーを作成したら、次のアクションを実行する必要があります。
- マップユーザー: ユーザーをロールにマップする必要があります。 クリック 役割のマッピング 利用可能な役割からユーザーに希望の役割を割り当て、 をクリックします。 選択したものを追加します。
- ロールを作成します。 ロールは、アプリケーションへのアクセスを許可するユーザーを定義するためにアプリケーションによって使用されます。 役割 そして「追加」を選択します 職種.
- グループを作成します。 セットアップボタンをクリックすると、セットアップが開始されます グループ 選択して New 新しいグループを作成します。
- ユーザーをグループに割り当てます: グループに追加したいユーザーを選択します。タブからグループオプションを選択し、グループ名を選択してクリックします。 join.
- Keycloakグループマッパー: ここで、グループの詳細を取得するには、グループ メンバーシップを使用してクライアント マッピングを実行する必要があります。そうしないと、グループの詳細が取得されません。それで クライアントセクションをクリックし、クライアントを選択して、 マッパー->作成.
- 今、選択 マッパータイプ as グループメンバーシップ そして、入力します。 名前とトークンクレーム名 つまり、取得するグループに対応する属性名です。完全なグループパス、IDトークンに追加、アクセストークンに追加のオプションをオフにして、 Save.
- Keycloakロールマッパー: ロールの詳細を取得するには、ロールのメンバーシップを使用してクライアントのマッピングを実行する必要があります。そうしないと、ロールの詳細が取得されません。 クライアントセクションをクリックし、クライアントを選択して、 マッパー->作成.
- 今、選択 マッパータイプ as ユーザーレルムの役割 メンバーシップを入力して、 名。 そして トークンクレーム名 つまり、取得するグループに対応する属性名です。IDトークンに追加とアクセストークンに追加のオプションを選択し、 Save.
- レルムを追加します: 次に、Keycloak管理コンソールにログインし、希望するレルムに移動します。新しいレルムを追加するには、以下を選択します。 レルムの作成 オプションを選択します。
- レルムを作成します。 入力します レルム名 レルム名は後で設定するときに必要になるので、手元に置いてください。 レルム OAuthクライアントプラグインの下にある CREATE レルムを追加します。
- OpenID クライアントを作成します。 セットアップボタンをクリックすると、セットアップが開始されます 取引実績 選択して クライアントの作成 新しいクライアントを作成します。 クライアント ID を入力し、クライアント プロトコルを選択します オープンエイド接続 とクリック 次へ.
- 有効にします クライアント認証 と Authorization トグル。
- 下にスクロールして アクセス設定 そしてあなたの コールバック/リダイレクト URL これはクライアント側のminiOrangeプラグインから取得できます。 コールバック URL テキストフィールド。
- に行きます Credentials タブ、コピー クライアントシークレット 後で WordPress OAuth シングル サインオン プラグインを構成するときに必要になるので、手元に置いておいてください。
- プラグイン構成: コピーしたものを入力してください クライアントシークレット 下 クライアントの秘密 OAuthクライアントプラグインのフィールドに 顧客ID 下 顧客ID フィールド。
- ユーザーを追加する: レルムのリソースにアクセスできるユーザーをレルムに追加する必要があります。 ユーザー をクリックします 新しいユーザーを作成する 新しいユーザーを追加します。
- ユーザー設定: ユーザーを作成したら、次のアクションを実行する必要があります。
- マップユーザー: ユーザーをロールにマップする必要があります。 クリック 役割のマッピング 利用可能なロールからユーザーの希望のロールを割り当てます。
- ロールを作成します。 ロールは、アプリケーションへのアクセスを許可するユーザーを定義するためにアプリケーションによって使用されます。 役割 選択して ロールを作成.
- レルムを追加します: 次に、Keycloak管理コンソールにログインし、希望するレルムに移動します。新しいレルムを追加するには、以下を選択します。 レルムの作成 オプションを選択します。
- レルムを作成します。 入力します レルム名 レルム名は後で設定するときに必要になるので、手元に置いてください。 レルム 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、WordPress Keycloak SSO ログインとエンドユーザーの WordPress への認証が有効になりました。
ステップ2: WordPressをOAuthクライアントとして設定する
- Free
- プレミアムサーマルバッグ
ステップ3: ユーザー属性のマッピング
- ユーザー属性マッピングは、ユーザーが WordPress に正常にログインできるようにするには必須です。以下の設定を使用して、WordPress のユーザー プロファイル属性を設定します。
- に行く OAuthの構成 タブ。 下にスクロールしてクリックします テスト構成.
- OAuth プロバイダーから WordPress に返されるすべての値が表に表示されます。名、姓、メール、ユーザー名の値が表示されない場合は、OAuth プロバイダーで必要な設定を行って、この情報を返します。
- テスト構成にすべての値が表示されたら、次のページに進みます。 属性/役割のマッピング タブをクリックすると、ユーザー名のドロップダウンに属性のリストが表示されます。
ユーザー属性の検索:


ステップ4: ロールマッピング[プレミアム]
- ソフトウェアの制限をクリック 「テスト構成」 OAuth プロバイダーから送信された属性名と属性値のリストが表示されます。
- 「テスト構成」ウィンドウから、プラグインの「属性マッピング」セクションで属性名をマッピングします。詳細については、スクリーンショットを参照してください。
- 役割マッピングを有効にする: ロール マッピングを有効にするには、グループ名属性をマップする必要があります。プロバイダー アプリケーションからロールを返す属性のリストから属性名を選択します。
例えば: 職種 - WordPress ロールをプロバイダー ロールに割り当てます。 プロバイダー アプリケーションに基づいて、WordPress ロールをプロバイダー ロールに割り当てることができます。アプリケーションに応じて、学生、教師、管理者、その他のいずれかになります。 [グループ属性値] の下にプロバイダー ロールを追加し、[WordPress ロール] の下でその前に必要な WordPress ロールを割り当てます。
例えば、、下の画像の。教師には管理者の役割が割り当てられ、生徒にはサブスクライバーの役割が割り当てられます。 - マッピングを保存すると、SSO 後にプロバイダー ロールに WordPress 管理者ロールが割り当てられます。
例: 上記の例のとおり、「教師」の役割を持つユーザーは WordPress の管理者として追加され、「学生」はサブスクライバーとして追加されます。



ステップ 5: Keycloak グループを取得するステップ
Keycloak でグループを作成します。

ご注意: すでにグループが作成され、顧客に割り当てられている場合は、グループを作成する手順をスキップできます。
- あなたの領域の下に グループ タブをクリックして グループを作成
- グループ名を入力して、 創造する
- 作成したグループに移動して、 加盟国 タブ。 クリックしてください メンバーを追加 メンバーを追加するボタン。
- グループに追加したいメンバーを追加し、 Add
- 今すぐ クライアントスコープ タブを選択 プロフィール 範囲。
- に行きます マッパー タブをクリックして マッパーの追加
- 選択 構成別 オプションを選択します。
- テーブルからグループ メンバーシップ マッピングを選択します。
- 加えます お名前 と トークン要求名 マッパーの Save
- 今すぐ OAuth シングル サインオン プラグインをクリックして、 テスト構成 ボタン。ユーザーに割り当てられたグループが表示されます。










ステップ 6: サインイン設定
- WordPress 5.7以下
- WordPressの5.8
- WordPress 5.9以上
ステップ 7: スコープとエンドポイント
範囲: | 電子メール プロファイル openid |
エンドポイントを承認します: | /realms/{レルム名}/プロトコル/openid-connect/auth |
アクセストークンエンドポイント: | /realms/{レルム名}/プロトコル/openid-connect/token |
ユーザー情報の取得エンドポイント: | /realms/{レルム名}/protocol/openid-connect/userinfo |
ログアウト後のカスタム リダイレクト URL:[オプション] | https://{キークロークドメイン}/レルム/{レルム名}/protocol/openid-connect/logout?post_logout_redirect_uri={リダイレクトURI}&id_token_hint=##id_token## |
範囲: | 電子メール プロファイル openid |
エンドポイントを承認します: | /auth/realms/{レルム名}/プロトコル/openid-connect/auth |
アクセストークンエンドポイント: | /auth/realms/{レルム名}/プロトコル/openid-connect/token |
ユーザー情報の取得エンドポイント: | /auth/realms/{レルム名}/protocol/openid-connect/userinfo |
ログアウト後のカスタム リダイレクト URL:[オプション] | /auth/realms/{レルム名}/protocol/openid-connect/logout?redirect_uri=リダイレクトUri |
Keycloak を IdP (OAuth プロバイダー) として、WordPress を OAuth クライアントとして設定することで、WordPress OAuth および OpenID Connect シングル サインオン (SSO) プラグインを使用した WordPress SSO ログインが正常に有効になりました。 Keycloak OAuth 認証 WordPress(WP)サイトへの安全なアクセスを迅速に展開し、ユーザーが安全に認証できるようにします。 キークローク SSO ログイン認証情報。
よくある質問(FAQ)
Keycloak管理インターフェースでドメインとレルムが見つかりません。
Keycloak 管理コンソールにログインします。レルム設定 -> 一般セクションに移動すると、レルム名が表示されます。 続きを読む