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 を OAuth クライアントとして設定する
- に行く → のワークプ → miniOrange OAuth クライアント構成 管理メニューで。(/admin/config/people/miniorange_oauth_client)

- 「OAuth の構成」タブで、ドロップダウンから目的の OAuth プロバイダーを選択します。

Note: 希望するOAuthプロバイダーがドロップダウンにリストされていない場合は、選択してください。 カスタム OAuth プロバイダー / カスタム OpenID プロバイダー そして続けます。

- コピー コールバック/リダイレクト URL 手元に置いてください。これは、OAuth プロバイダーを構成するときに必要になります。
- OAuthプロバイダー名を 表示名 テキストフィールド。

Note: プロバイダーが HTTPS コールバック/リダイレクト URL のみをサポートしており、HTTP サイトがある場合は、タブの下部にある [HTTPS コールバック URL を強制する] チェックボックスを必ず有効にしてください。

- MicrosoftAzureポータル
- Microsoft エントラ ID
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 と OAuth プロバイダー間の接続をテストする
- 設定が正常に保存されたら、 テスト構成の実行 Drupal と OAuth プロバイダー間の接続をテストするためのボタン。

- テスト構成ポップアップでは、同じブラウザにアクティブなセッションがない場合、OAuth プロバイダーにログインするように要求されます。正常にログインすると、OAuth プロバイダーから受信した属性のリストが提供されます。
- 現在地に最も近い 電子メールの属性 ユーザーの電子メール ID を取得するドロップダウン メニューから、 クリックします

Note: SSO を実行するには、電子メール属性のマッピングが必須です。つまり、OAuth プロバイダーの資格情報を使用して Drupal サイトにログインする必要があります。

- ソフトウェア設定ページで、下図のように 属性と役割のマッピング タブで、選択してください ユーザー名の属性 ドロップダウンリストから 構成の保存

- 次にログアウトして、Drupal サイトのログイン ページに移動します。そこには、OAuth プロバイダーによるログイン リンクが自動的に表示されます。他のページにも SSO リンクを追加する場合は、以下の画像の手順に従ってください。

手伝いが必要?
構成中に問題が発生した場合、または追加機能が必要な場合は、次のアドレスまでお問い合わせください。 drupalsupport@xecurify.com.
追加機能:
トラブルシューティング:
その他のよくある質問➔エラーが発生する: 「ユーザー名を受信していません。属性マッピングの構成を確認してください。」またはエラーが発生する: 「電子メールを受信していません。属性マッピングの構成を確認してください。」
記載されている手順に従ってください Pr_media
「クライアント資格情報がヘッダーまたは本文に見つかりませんでした」というメッセージが表示されます
テスト構成を実行しようとすると
記載されている手順に従ってください Pr_media
Drupal でログアウトをクリックすると、Drupal ホームページに戻ります。しかし、他のユーザーでログインしようとすると、ログインを求められず、同じユーザーで自動的にログインされます。
ここで言及されているログアウト機能は、モジュールのデフォルトの動作です。Drupal からはログアウトしますが、アプリケーション/プロバイダーからはログアウトしません。モジュールがプロバイダー/アプリケーション アカウントからログアウトできるようにするには (必要な操作)、以下の設定を行う必要があります。[詳細を知って]
有料の Drupal モジュールを購入し、無料モジュールに置き換えましたが、有料機能はまだ使用できません。
Drupal モジュールの有料版にアップグレードし、無料モジュールを有料モジュールに置き換えたので、まず有料モジュールを有効化する必要があります。以下の手順を参照してください。[もっと知る]