Microsoft Entra ID を OAuth / OpenID Connect プロバイダーとして使用して Drupal に SSO ログインする
概要
Drupal Microsoft Entra ID SSO統合により、ユーザーはMicrosoft Entra ID認証情報を使用してDrupalサイトにログインできるようになります。このSSO統合は、 miniOrange OAuth クライアント OAuth 2.0およびOpenID Connect(OIDC)プロトコルを使用するモジュールです。このモジュールは、Drupal 7、Drupal 8、Drupal 9、Drupal 10、およびDrupal 11と互換性があります。
このドキュメントでは、Drupal サイトと Microsoft Entra ID 間の OAuth プロトコルを使用したシングル サインオン ログインを構成する方法について説明します。
インストール手順
- 古いバージョン
- 新バージョン
- コンポーザの使用
- ドラッシュを使用する
- 手動インストール
- モジュールをダウンロードします。
コンポーザーには「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
Microsoft Entra ID で SSO アプリケーションを作成します。
- にログインします。 マイクロソフト アジュール ポータル。
- 選択する Microsoft エントラ ID Azureサービス のセクションから無料でダウンロードできます。
- 以下を行うには、 +追加 リンクをクリックして選択 アプリの登録 ドロップダウン メニューから選択します。
- アプリケーションを登録する ウィンドウで、次の情報を入力します。
- お名前:アプリケーション名を入力します。
- サポートされているアカウントタイプ: 1 番目のオプションを選択します。 この組織ディレクトリ内のアカウントのみ(テストのみ - 単一テナント). 参照してください 私が選ぶのを手伝ってください リンクをクリックします。
- リダイレクト URI (オプション):選択 ウェブ プラットフォームを選択する ドロップダウンリストで、テキストフィールドに先ほどコピーしたテキストを貼り付けます。コールバック/リダイレクトURL.
- 以下を行うには、 会員登録する
- Microsoft Entra ID は、アプリケーションに一意のアプリケーション ID を割り当てます。をコピーします アプリケーション(クライアント)IDこれはあなたの 顧客ID.
- 今、 証明書またはシークレットを追加する リンクをクリックします。
- 以下を行うには、 新しいクライアントの秘密 ボタン。 の中に クライアントシークレットを追加する ポップアップで、必要な情報を入力します。
- 詳細説明 : このシークレットの説明を入力します。
- 期限: ドロップダウンからこのシークレットの有効期限を選択します。
- 以下を行うには、 追加
- コピー 値 クライアントシークレット タブ。 これは クライアントシークレット.
- に移動します 概要 左側のパネルから。
- Essentials セクションをコピーします。 ディレクトリ(テナント)IDこれがテナントIDになります。
Microsoft Entra ID で SSO アプリケーションを作成します。
- にログインします。 Microsoft エントラ ID ポータル。
- 選択する アプリの登録 左側のナビゲーションバーから アプリケーション のセクションから無料でダウンロードできます。
- 今、 + 新規登録
- アプリケーションを登録する ウィンドウで、次の情報を入力します。
- お名前:アプリケーション名を入力します。
- サポートされているアカウントタイプ: 1 番目のオプションを選択します。 この組織ディレクトリ内のアカウントのみ(テストのみ - 単一テナント). 参照してください 私が選ぶのを手伝ってください リンクをクリックします。
- リダイレクト URI (オプション):選択 ウェブ プラットフォームを選択する ドロップダウンリストで、テキストフィールドに先ほどコピーしたテキストを貼り付けます。 コールバック/リダイレクトURL.
- 以下を行うには、 会員登録する
- Microsoft Entra ID は、アプリケーションに一意のアプリケーション ID を割り当てます。をコピーします アプリケーション(クライアント)ID。 これはあなたの 顧客ID.
- 今、 証明書またはシークレットを追加する リンクをクリックします。
- 以下を行うには、 新しいクライアントの秘密 ボタン。 の中に クライアントシークレットを追加する ポップアップで、必要な情報を入力します。
- 詳細説明 : このシークレットの説明を入力します。
- 期限: ドロップダウンからこのシークレットの有効期限を選択します。
- 以下を行うには、 追加
- コピー 値 クライアントシークレット タブ。 これは クライアントシークレット.
- に移動します 概要 左側のパネルから。
- Essentials セクションをコピーします。 ディレクトリ(テナント)IDこれがテナントIDになります。
Drupal と Microsoft Entra ID の統合:
- miniOrange OAuth クライアント モジュールに移動します。
- OAuthの構成タブで、Microsoft Entra IDからコピーしたアプリケーション(クライアント)IDとクライアントシークレットを貼り付けます。 顧客ID クライアントシークレット テキストフィールド
- 以前にコピーしたものを置き換えます ディレクトリ(テナント)ID {テナントID} 会場は エンドポイントの承認 アクセストークンエンドポイント それぞれテキスト フィールドです。
| 対象領域 | openid メール プロファイル |
| エンドポイントを承認します: | https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize |
| アクセストークンエンドポイント: | https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token |
| ユーザー情報の取得エンドポイント: | https://graph.microsoft.com/oidc/userinfo |
- 以下を行うには、 構成の保存
Drupal と Microsoft Entra ID の統合:
- miniOrange OAuth クライアント モジュールに移動します。
- In 追加 タブにコピーした内容を貼り付けます 顧客ID クライアントシークレット Microsoft Entra IDから 顧客ID クライアントシークレット テキストフィールド。
- 以前にコピーしたものを置き換えます ディレクトリ(テナント)ID {テナントID} 会場は エンドポイントの承認 アクセストークンエンドポイント それぞれテキスト フィールドです。
| 対象領域 | openid メール プロファイル |
| エンドポイントを承認します: | https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize |
| アクセストークンエンドポイント: | https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token |
| ユーザー情報の取得エンドポイント: | https://graph.microsoft.com/oidc/userinfo |
- 当学校区の ヘッダーまたは本文でクライアント 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 サイト セキュリティなどがあります。

お問い合わせ