Drupal OAuth クライアントで Office 365 シングル サインオンを設定する
概要
Drupal miniOrange SSO 統合により、OAuth/OpenID プロトコルを使用して、Drupal サイトと Office 365 間のシングル サインオン (SSO) ログインを構成できるようになります。 Drupal OAuth 2.0/OpenID 接続モジュール Drupal サイトへの OAuth 2.0/OIDC シングル サインオンを使用したログインを有効にする機能を提供します。Drupal 7、Drupal 8、Drupal 9、Drupal 10、Drupal 11 用の Drupal OAuth/OpenID クライアント モジュールを提供します。
インストール手順
- コンポーザの使用
- ドラッシュを使用する
- 手動インストール
構成手順
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 を強制する] チェックボックスを必ず有効にしてください。

Office 365 でアプリケーションを作成する
- ログイン/サインアップ Microsoft Officeの365 管理コンソール。
- に行きます Azureサービス セクションと選択 Azure Active Directory サービス。

- に移動します アプリの登録 -> 新規登録 左側のナビゲーションメニューから。
![Drupal OAuth クライアント Microsoft Office 365 SSO - [アプリの登録] をクリックし、[新規登録] をクリックします。](https://plugins.miniorange.com/wp-content/uploads/2023/09/Microsoft-Azure-O365-App-registration-then-New-registration.webp)
- に次の情報を入力します。 アプリケーションを登録する ページ:
- アプリケーションの表示名を入力します お名前 テキストフィールド。
- サポートされているアカウントタイプ:選択 この組織ディレクトリ内のアカウントのみ (テストのみ - 単一テナント)。 どのオプションを選択すればよいかわからない場合は、 選ぶのを手伝ってください リンクをクリックします。
- リダイレクト URI (オプション): プラットフォームを選択します ウェブコピーしたコールバック/リダイレクトURLを URIをリダイレクトする テキストフィールド。

- セットアップボタンをクリックすると、セットアップが開始されます 登録する ボタンをクリックして新しいアプリケーションを作成します。
Drupal と Office 365 の統合
- コピー アプリケーション(クライアント)ID Microsoft Office ポータルから。

- Drupal に行く OAuthの構成 そしてコピーしたものを貼り付けます アプリケーションID に 顧客ID テキストフィールド。

- Microsoft Office ポータルで、次をクリックします。 証明書またはシークレットを追加する 下 Essentials のセクションから無料でダウンロードできます。

- セットアップボタンをクリックすると、セットアップが開始されます 新しいクライアントの秘密
- に必要な情報を入力します。 クライアントシークレットを追加する ウィンドウ:
- 入力します 説明 このクライアント シークレットについては
- 選択する 期限 ドロップダウンから期間を選択します。

- セットアップボタンをクリックすると、セットアップが開始されます Add
- 次に、 値 クライアントシークレット タブ。 これはアプリのクライアント シークレット キーです。

- Drupal に行く OAuthの構成 タブを押してコピーしたものを貼り付けます クライアントシークレットの値 に クライアントシークレット テキストフィールド。

- Microsoft Office 365 ポータルに移動し、 API権限 -> 権限を追加する -> Microsoft API -> Office 365 管理 API -> アプリケーションの許可.
![Microsoft Office 365 - [API 権限] をクリックします - API 権限を追加 - Microsoft API - Office 365 Management API - アプリケーション権限](https://plugins.miniorange.com/wp-content/uploads/2023/09/Microsoft-Office365-OAuth-Single-Sign-On-Request-API-permissions-Select-Office-365-Management-APIs.webp)
- 希望するものを選択してください 権限 とをクリックしてください 権限を追加

- に移動します 概要 をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します Endpoints
- コピー OAuth 2.0 認証エンドポイント (v2) & OAuth 2.0 トークン エンドポイント (v2).
![Microsoft Office 365 - [エンドポイント]をクリックします](https://plugins.miniorange.com/wp-content/uploads/2023/09/Microsoft-Office365-OAuth-Single-Sign-On-Endpoints-copy-the-Authorization-Endpoint.webp)
- Drupal に移動します OAuthの構成 タブを選択して貼り付けます 認可エンドポイント および トークンエンドポイント それぞれのテストフィールドに投入します。

- ソフトウェアの制限をクリック 構成の保存
- 以下の表で Office 365 のエンドポイントとスコープを参照することもできます。
対象領域 | オープンID |
エンドポイントの承認 | 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 と 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 モジュールの有料版にアップグレードし、無料モジュールを有料モジュールに置き換えたので、まず有料モジュールを有効化する必要があります。以下の手順を参照してください。[もっと知る]