Drupal を OAuth / OpenID Connect プロバイダーとして使用して Rocket.Chat に SSO ログインする
概要
Drupal SSO 統合により、ユーザーは Drupal サイトの資格情報を使用して Rocket.chat にログインできるようになります。 この SSO 統合は、OAuth 2.0 および OpenID Connect プロトコルを使用する miniOrange OAuth / OpenID Connect サーバー モジュールによって実現されます。 の モジュール すべての OAuth / OpenID Connect クライアントと互換性があり、Drupal 7、Drupal 8、Drupal 9、Drupal 10、および Drupal 11 で利用できます。
このセットアップ ガイドでは、Drupal サイトと Rocketchat の間で OAuth プロトコルを使用してシングル サインオン ログインを構成する方法を説明します。
構成手順
Rocket.Chat で OAuth / OIDC アプリケーションを構成します。
- にログイン ロケットチャット 管理者の資格情報を使用して。
- 左側のナビゲーション メニューから、 管理部門 -> .
![Drupal Rocket.Chat OIDC シングル サインオン - [管理] -> [ワークスペース] に移動します。](https://plugins.miniorange.com/wp-content/uploads/2023/09/Rocket-Chat-OAuth-Server-Click-Workspace.webp)
- に移動します 設定 左側のナビゲーション メニューバーからタブをクリックします。

- さあ、検索してください OAuth とをクリックしてください 店は開いています
![Drupal Rocket.Chat OIDC シングル サインオン - OAuth を検索し、[開く] ボタンをクリックします](https://plugins.miniorange.com/wp-content/uploads/2023/09/Rocket-Chat-OAuth-Server-Click-Add_OAuth.webp)
- セットアップボタンをクリックすると、セットアップが開始されます カスタムOAuthを追加する 画面の右上隅にあるボタン。
![Drupal Rocket.Chat OIDC シングル サインオン - [カスタム OAuth の追加] をクリックします](https://plugins.miniorange.com/wp-content/uploads/2023/09/Rocket-Chat-OAuth-Server-Click-Add_Custom-OAuth.webp)
- の下にアプリケーション名を入力します。 カスタム OAuth に一意の名前を付けます テキストフィールドをクリックして、 Add
![Drupal Rocket.Chat OIDC シングル サインオン - カスタム OAuth フィールドに一意の名前を付けて、[追加] ボタンをクリックします](https://plugins.miniorange.com/wp-content/uploads/2023/09/Rocket-Chat-OAuth-Server-Add-Application-Name.webp)
- アプリケーションのリストから作成したアプリケーションを選択し、展開します。
- コピー コールバックURL.

Drupal を OAuth サーバーとして設定する
- 管理メニューで、「構成」→「ユーザー」→「miniOrange OAuth サーバー構成」に移動します。(admin/config/people/oauth_server_sso/config_client)

- 下 OAuth クライアント のタブ クライアントを追加 セクションにアプリケーション名を入力します アプリケーション名 OAuthクライアントからコピーしたコールバックURLを コールバック/リダイレクト URL テキストフィールド。
- テキスト フィールドの横にある [さらに追加] ボタンをクリックすると、複数のコールバック URL を追加できます。
- セットアップボタンをクリックすると、セットアップが開始されます 投稿 (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。

Rocket.Chat と Drupal の統合:
- Rocket.Chat コンソールに移動し、 有効にする トグルボタン。

- 貼り付け 顧客ID 下 Id テキストフィールドと クライアントシークレット 下 秘密 テキストフィールド。

- 以下の表で指定されているようにスコープとエンドポイント/パスを追加します (同じものを スコープとエンドポイント のセクション Drupal サイト -> -> miniOrange OAuth サーバーの構成 -> OAuth クライアント):
対象領域 | プロフィールオープンIDメール |
---|---|
パスを承認する | {drupal_site のベース URL}/mo/oauth2/authorize |
トークンパス | {drupal_site のベース URL}/mo/oauth2/token |
アイデンティティパス | {drupal_site のベース URL}/mo/oauth2/userinfo |

- 要件に応じて、その他の必要な機能を構成します。 構成が不明な場合は、残りのフィールドをデフォルトのままにしてください。
- その ログインページにボタンを表示 トグルボタンが有効になります。
- 設定が完了したら、 変更を保存します

Rocket.Chat を OAuth クライアントとして、Drupal を OAuth サーバーとして正常に構成しました。
これがどのように機能するかを見てみましょう:
- 新しいウィンドウ/プライベート ブラウザを開き、Rocket.Chat Web サイトのログイン ページに移動します。
- セットアップボタンをクリックすると、セットアップが開始されます Drupaloauth でサインインする (Rocket.Chat で作成されたカスタム OAuth アプリケーション名) ボタン。

- Drupal へのログインを求めるウィンドウがポップアップ表示されます。
- Drupal 認証情報を入力し、 ログイン

- 認証が成功すると、Rocket.Chat へのログインが成功し、ポップアップが閉じられます。
Rocket.Chat と Drupal 間の SSO が正常に実行されました。