OAuth / OpenID Connect を使用した Drupal Azure AD B2C SSO 統合
概要
Drupal OAuth クライアント モジュールにより有効になります シングル・サインオン つまり、OAuth または OpenID 接続プロトコルを使用する任意の ID プロバイダーによる Drupal サイトの SSO です。ここでは、Azure AD B2C を使用してモジュールを構成する手順について説明します。この構成が完了すると、ユーザーは Azure B2C 資格情報を使用して Drupal サイトにログインできるようになります。
Drupal と Azure AD B2C を統合すると、ログイン プロセスが簡素化され、安全になり、複数のパスワードを保存、記憶、リセットする必要が完全になくなります。
インストール手順
- 古いバージョン
- 新バージョン
- コンポーザの使用
- ドラッシュを使用する
- 手動インストール
- モジュールをダウンロードします。
コンポーザーには「drupal/miniorange_oauth_client」が必要です
- MFAデバイスに移動する 延長 Drupal 管理コンソールのメニューから検索します。 miniOrange OAuth クライアント構成 検索ボックスを使用して。
- チェックボックスをオンにしてモジュールを有効にし、 インストールを開始する
- モジュールは次の場所で設定できます。
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
- モジュールをインストールします。
drush と drupal/miniorange_oauth_client
- キャッシュをクリアします。
ダッシュCR
- モジュールは次の場所で設定できます。
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
注意: 手動インストールは、Drupal 7、Drupal 8、および Drupal 9 とのみ互換性があります。
- MFAデバイスに移動する 延長 Drupal 管理コンソールのメニューをクリックし、 新しいモジュールをインストールする.
- Drupal をインストールする OAuth および OpenID Connect ログイン - OAuth2 クライアント SSO ログイン zip をダウンロードするか、次の URL からモジュールをダウンロードします。 パッケージ (tar/zip).
- ソフトウェアの制限をクリック 新しく追加されたモジュールを有効にする.
- チェックボックスをオンにしてこのモジュールを有効にし、 install
- モジュールは次の場所で設定できます。
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
- コンポーザの使用
- ドラッシュを使用する
- 手動インストール
- モジュールをダウンロードします。
コンポーザーには「drupal/miniorange_oauth_client」が必要です
- MFAデバイスに移動する 延長 Drupal 管理コンソールのメニューから検索します。 miniOrange OAuth クライアント構成 検索ボックスを使用して。
- チェックボックスをオンにしてモジュールを有効にし、 インストールを開始する
- モジュールは次の場所で設定できます。
{ベースURL}/admin/config/people/mo-oauth-client/mo-client-config
- モジュールをインストールします。
drush と drupal/miniorange_oauth_client
- キャッシュをクリアします。
ダッシュCR
- モジュールは次の場所で設定できます。
{ベースURL}/admin/config/people/mo-oauth-client/mo-client-config
注意: 手動インストールは、Drupal 7、Drupal 8、および Drupal 9 とのみ互換性があります。
- MFAデバイスに移動する 延長 Drupal 管理コンソールのメニューをクリックし、 新しいモジュールをインストールする.
- Drupal をインストールする OAuth および OpenID Connect ログイン - OAuth2 クライアント SSO ログイン zip をダウンロードするか、次の URL からモジュールをダウンロードします。 パッケージ (tar/zip).
- ソフトウェアの制限をクリック 新しく追加されたモジュールを有効にする.
- チェックボックスをオンにしてこのモジュールを有効にし、 install
- モジュールは次の場所で設定できます。
{ベースURL}/admin/config/people/mo-oauth-client/mo-client-config
構成手順
Drupal を OAuth クライアントとして設定する
- に行く → のワークプ → miniOrange OAuth クライアント構成 管理メニューで。(/admin/config/people/miniorange_oauth_client)
- 「OAuth の構成」タブで、ドロップダウンから目的の OAuth プロバイダーを選択します。
注意: 希望するOAuthプロバイダーがドロップダウンにリストされていない場合は、選択してください。 カスタム OAuth プロバイダー / カスタム OpenID プロバイダー そして続けます。
- コピー コールバック/リダイレクト URL 手元に置いてください。OAuthプロバイダーの設定時に必要になります。
- OAuthプロバイダー名を 表示名 テキストフィールド。
注意: プロバイダーが HTTPS コールバック/リダイレクト URL のみをサポートしていて、HTTP サイトがある場合は、タブの下部にある [HTTPS コールバック URL を強制する] チェックボックスを必ず有効にしてください。
Drupal を OAuth クライアントとして設定する
- に行く → のワークプ → miniOrange OAuth クライアント 管理メニューで。(admin/config/people/mo-oauth-client/mo-client-config)
- 管理 セクション、下 クライアント構成 タブをクリックします。 + 新規追加 必要な OAuth クライアントを構成するためのボタン。
- 下 追加 タブで、ドロップダウンから目的の OAuth アプリケーションを選択します。
注意: 希望するOAuthプロバイダーがドロップダウンにリストされていない場合は、選択してください。 カスタム OAuth プロバイダー / カスタム OpenID プロバイダー そして続けます。
- OAuthプロバイダー名を カスタムアプリ名 テキストフィールド。 コールバック/リダイレクト URL 手元に置いてください。OAuthプロバイダーの設定時に必要になります。
- プロバイダがHTTPSコールバック/リダイレクトURLのみをサポートしていて、HTTPサイトがある場合は、 HTTPS コールバック URL を強制する のチェックボックス 設定 タブには何も表示されないことに注意してください。
- MicrosoftAzureポータル
- Microsoft エントラ ID
Azure AD B2C で SSO アプリケーションを作成します。
- にログインします。 マイクロソフト アジュール ポータル。
- Azureサービス セクション、選択 Azure AD B2C.
- 新しい Azure AD B2C アプリケーションを構築するには、次の場所に移動します。 アプリの登録 下 管理 左側のナビゲーション パネルのセクションに移動し、 新規登録
- アプリケーションを登録する ウィンドウで、新しいアプリケーションを作成するために必要な情報を入力します。
- 名: アプリケーションの名前を入力します。 名 テキストフィールド。
- サポートされているアカウントタイプ: 3 番目のオプションを選択します。 任意の組織ディレクトリ内のアカウント(ユーザー フローでユーザーを認証するため)。 も参照できます 選ぶのを手伝ってください 価値がある場合はオプションを選択します。
- ノーザンダイバー社の プラットフォームを選択する ドロップダウン オプションで、[Web] を選択します。 リダイレクトURI(推奨)。 先ほどコピーしたものを貼り付けます コールバック/リダイレクト URL テキストフィールドに入力します。
- 以下を行うには、 会員登録する
- Azure AD B2Cはアプリケーションに一意のアプリケーションIDを割り当てます。 アプリケーション(クライアント)IDこれはあなたの 顧客ID.
- さて、選択してください 証明書とシークレット 左側のパネルから 新しいクライアントの秘密 ボタンをクリックしてクライアント シークレットを生成します。
- 以下を行うには、 新しいクライアントの秘密 ボタン。 の中に クライアントシークレットを追加する ポップアップで、必要な情報を入力します。
- 詳細説明 : このシークレットの説明を入力します。
- 期限: ドロップダウンからこのシークレットの有効期限を選択します。
- 以下を行うには、 追加
- コピー 値 クライアントシークレット タブ。 これは クライアントシークレット.
- ソフトウェアの制限をクリック Azure AD B2C | アプリの登録 左上からリンクします。
- に移動します 概要 左側のパネルからタブをクリックします。
- Essentials セクションをコピーします。 ドメイン名。 これがテナント ID になります。
Microsoft Azure AD B2C で SSO アプリケーションを作成します。
- にログインします。 Microsoft エントラ ID ポータル。
- 検索バーでAzure AD B2Cを検索します。 Azure AD B2C 検索結果から。
- 新しい Azure AD B2C アプリケーションを構築するには、次の場所に移動します。 アプリの登録 下 管理 左側のナビゲーション パネルのセクションに移動し、 新規登録
- アプリケーションを登録する ウィンドウで、新しいアプリケーションを作成するために必要な情報を入力します。
- 名: アプリケーションの名前を入力します。 名 テキストフィールド。
- サポートされているアカウントタイプ: 3 番目のオプションを選択します。 任意の組織ディレクトリ内のアカウント(ユーザー フローでユーザーを認証するため)。 も参照できます 選ぶのを手伝ってください 価値がある場合はオプションを選択します。
- ノーザンダイバー社の プラットフォームを選択する ドロップダウン オプションで、[Web] を選択します。 リダイレクトURI(推奨)。 先ほどコピーしたものを貼り付けます コールバック/リダイレクト URL テキストフィールドに入力します。
- 以下を行うには、 会員登録する
- Azure AD B2Cはアプリケーションに一意のアプリケーションIDを割り当てます。 アプリケーション(クライアント)IDこれはあなたの 顧客ID.
- さて、選択してください 証明書とシークレット 左側のパネルから 新しいクライアントの秘密 ボタンをクリックしてクライアント シークレットを生成します。
- クライアントシークレットを追加する ポップアップで、必要な情報を入力します。
- 詳細説明 : このシークレットの説明を入力します。
- 期限: ドロップダウンからこのシークレットの有効期限を選択します。
- 以下を行うには、 追加
- コピー 値 クライアントシークレット タブ。 これは クライアントシークレット.
- ソフトウェアの制限をクリック Azure AD B2C | アプリの登録 左上からリンクします。
- に移動します 概要 左側のパネルからタブをクリックします。
- Essentials セクションをコピーします。 ドメイン名。 これがテナント ID になります。
Azure AD B2C でユーザーフローポリシーを作成する
- Microsoft Azure ポータルに移動します。
- 選択する ユーザーフロー 政策 のセクションから無料でダウンロードできます。
- 以下を行うには、 新しいユーザーフロー
- まず サインアップしてサインインする ユーザーフロー用のカード/ボックス ユーザーフローを作成する パネル。
- まず おすすめ カード/ボックスの下 。 次に、 創造する
- 次の情報をに入力します 創造する ウィンドウ:
- 入力する 名 ユーザーフローの。例:B2C_1_AzureB2CTest。(ユーザーフローを作成した後は変更できません。)
- 選択する メール登録 下 アイデンティティプロバイダー.
- まず 多要素認証 必要に応じてオプションを選択してください。不明な場合は、デフォルト オプションのままにしてください。
- ユーザー属性とトークンクレーム: サインアッププロセス中にユーザーから収集するクレームと属性を選択します。 Show more ボタンを押すと追加のオプションが表示されます。 創造する ポップアップ ウィンドウで、次のチェックボックスが有効になっていることを確認してください。 メールアドレス (「属性の収集」の下) および メールアドレス (「返品申請」の下)その他の必要な属性を追加することもできます。最後に、 Ok
- 次に、をクリックします。 創造する ユーザーフローを追加するボタン。(名前には B2C_1_ プレフィックスが自動的に追加されます。)
- コピー 名 ユーザーフローのため。 (これはポリシー名です)
Azure AD B2C でユーザー フロー ポリシーを作成する
- 今、選択 ユーザーフロー 政策 のセクションから無料でダウンロードできます。
- 以下を行うには、 新しいユーザーフロー
- まず サインアップしてサインインする ユーザーフロー用のカード/ボックス ユーザーフローを作成する パネル。
- 選択する おすすめ 下 セクションをクリックして 創造する
- 次の情報をに入力します 創造する ウィンドウ:
- 入力する 名 ユーザーフローの。例:B2C_1_AzureB2CTest。(ユーザーフローを作成した後は変更できません。)
- 選択する メール登録 下 アイデンティティプロバイダー.
- まず 多要素認証 必要に応じてオプションを選択してください。不明な場合は、デフォルト オプションのままにしてください。
- ユーザー属性とトークンクレーム: サインアッププロセス中にユーザーから収集するクレームと属性を選択します。 Show more ボタンを押すと追加のオプションが表示されます。 創造する ポップアップ ウィンドウで、次のチェックボックスが有効になっていることを確認してください。 電子メールアドレス (「属性の収集」の下) および メールアドレス (「返品申請」の下)その他の必要な属性を追加することもできます。最後に、 Ok
- 次に、をクリックします。 創造する ユーザーフローを追加するボタン。(名前には B2C_1_ プレフィックスが自動的に追加されます。)
- コピー 名 ユーザーフローのため。 (これはポリシー名です)
Drupal と Azure AD B2C の統合:
- miniOrange OAuth クライアント モジュールに移動します。
- OAuthの構成タブで、Microsoft Entra IDからコピーしたアプリケーション(クライアント)IDとクライアントシークレットを貼り付けます。 顧客ID の三脚と クライアントシークレット テキストフィールド
- 以前にコピーしたものを置き換えます ドメイン名 {テナント名} に選出しました。 エンドポイントの承認 の三脚と アクセストークンエンドポイント Drupal のテキストフィールド OAuthの構成 タブには何も表示されないことに注意してください。
- 以前にコピーしたものを置き換えます 名 {ポリシー名} に選出しました。 エンドポイントの承認 の三脚と アクセストークンエンドポイント テキストフィールド。
- 「クライアントIDとシークレットをヘッダーまたは本文で送信する」チェックボックスでは、クライアントIDとシークレットをトークンエンドポイントリクエストのヘッダーに含めるか本文に含めるかを指定できます。どちらのオプションを選択すればよいかわからない場合は、デフォルト設定のままで構いません。
- チェックボックスをクリックして、 OAuth によるログインを有効にする.
- 今、 構成の保存
| 範囲: | オープンID |
| エンドポイントを承認します: | https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-name}/oauth2/v2.0/authorize |
| アクセストークンエンドポイント: | https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-name}/oauth2/v2.0/token |
Drupal と Microsoft Entra ID の統合:
- miniOrange OAuth クライアント モジュールに移動します。
- In 追加 タブにコピーした内容を貼り付けます 顧客ID の三脚と クライアントシークレット Azur AD B2Cから 顧客ID の三脚と クライアントシークレット テキストフィールド。
- 以前にコピーしたものを置き換えます ドメイン名 {テナント名} に選出しました。 エンドポイントの承認 の三脚と アクセストークンエンドポイント テキストフィールド。
| 範囲: | オープンID |
| エンドポイントを承認します: | https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-name}/oauth2/v2.0/authorize |
| アクセストークンエンドポイント: | https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-name}/oauth2/v2.0/token |
- その ヘッダーまたは本文でクライアント ID とシークレットを送信します チェックボックスをオンにすると、クライアントIDとシークレットをトークンエンドポイントリクエストのヘッダーに含めるか、本文に含めるかを指定できます。どちらのオプションを選択すればよいかわからない場合は、デフォルト設定のままで構いません。
- チェックボックスをクリックして、 OAuth によるログインを有効にするをクリックして下にスクロールし、 設定を保存
Drupal と OAuth プロバイダー間の接続をテストする
- 設定が正常に保存されたら、 テスト構成の実行 Drupal と OAuth プロバイダー間の接続をテストするためのボタン。
- テスト設定ポップアップで、同じブラウザにアクティブなセッションがない場合、OAuthプロバイダーへのログインが求められます。ログインに成功すると、OAuthプロバイダーから受信した属性のリストが表示されます。
- まず 電子メールの属性 ユーザーのメールIDを取得するドロップダウンメニューから クリックします
注意: SSO を実行するには、電子メール属性のマッピングが必須です。つまり、OAuth プロバイダーの資格情報を使用して Drupal サイトにログインする必要があります。
- ソフトウェア設定ページで、下図のように 属性と役割のマッピング タブで、選択してください ユーザー名の属性 ドロップダウンリストから 構成の保存
- ログアウトして、Drupalサイトのログインページに移動してください。そこには自動的に「OAuthプロバイダーでログイン」リンクが表示されます。他のページにもSSOリンクを追加したい場合は、以下の画像の手順に従ってください。
Drupal と OAuth プロバイダー間の接続をテストする
- 構成が正常に保存されたら、 テスト構成の実行 Drupal と OAuth プロバイダー間の接続をテストするためのボタン。
- テスト設定ポップアップで、同じブラウザにアクティブなセッションがない場合、OAuthプロバイダーへのログインが求められます。ログインに成功すると、OAuthプロバイダーから受信した属性のリストが表示されます。
- 以下を行うには、 マッピングを構成する
- ソフトウェア設定ページで、下図のように 属性マッピング タブで、選択してください 電子メールの属性 の三脚と ユーザー名の属性 ドロップダウン リストから、 構成の保存
注意: SSO を実行するには、電子メール属性のマッピングが必須です。つまり、OAuth プロバイダーの資格情報を使用して Drupal サイトにログインする必要があります。
- ログアウトして、Drupalサイトのログインページに移動してください。そこには自動的に「OAuthプロバイダーでログイン」リンクが表示されます。他のページにもSSOリンクを追加したい場合は、以下の画像の手順に従ってください。
手伝いが必要?
構成中に問題が発生した場合、または追加機能が必要な場合は、次のアドレスまでお問い合わせください。 drupalsupport@xecurify.com.
追加機能:
-
属性マッピング - OAuth プロバイダーから受信したユーザーの属性を Drupal フィールドにマッピングします
-
ロールマッピング - OAuthプロバイダーのロール/属性に基づいてユーザーにDrupalロールを割り当てます
-
シングル ログアウトを有効にする - ユーザーが Drupal からログアウトするときに、OAuth プロバイダー (AWS Cognito、Azure AD B2C、Keycloak、Okta など) からログアウトします。
-
サイト全体またはサイトの特定のセクションへの匿名アクセスを制限する
-
複数の OAuth プロバイダーを追加する
-
OAuthクライアントが提供するすべての機能をご覧ください
トラブルシューティング:
その他のよくある質問➔エラーが発生する: 「ユーザー名を受信していません。属性マッピングの構成を確認してください。」またはエラーが発生する: 「電子メールを受信していません。属性マッピングの構成を確認してください。」
記載されている手順に従ってください Pr_media
「クライアント資格情報がヘッダーまたは本文に見つかりませんでした」というメッセージが表示されます
テスト構成を実行しようとすると
記載されている手順に従ってください Pr_media
Drupal でログアウトをクリックすると、Drupal ホームページに戻ります。しかし、他のユーザーでログインしようとすると、ログインを求められず、同じユーザーで自動的にログインされます。
ここで言及されているログアウト機能は、モジュールのデフォルトの動作です。Drupal からはログアウトしますが、アプリケーション/プロバイダーからはログアウトしません。モジュールがプロバイダー/アプリケーション アカウントからログアウトできるようにするには (必要な操作)、以下の設定を行う必要があります。[詳細を知って]
有料の Drupal モジュールを購入し、無料モジュールに置き換えましたが、有料機能はまだ使用できません。
Drupal モジュールの有料版にアップグレードし、無料モジュールを有料モジュールに置き換えたので、まず有料モジュールを有効化する必要があります。以下の手順を参照してください。[もっと知る]
24 / 7サポート
miniOrange の Drupal 開発者は、お客様の質問に対して迅速かつ積極的なサポートを提供します。お客様のユースケースに最適なソリューションの選択からお手伝いいたします。
その他のソリューション
当社が提供するその他の Drupal ソリューションもぜひご検討ください。当社の信頼できるお客様に人気のソリューションには、2FA、ユーザー プロビジョニング、Web サイト セキュリティなどがあります。

お問い合わせ