Drupalで外部IDプロバイダー認証を設定する
外部IDプロバイダー認証方式では、Google、Azure AD、Keycloak、Okta、GitLabなどのサードパーティプロバイダーのトークンを使用して、Drupal REST APIへのアクセスを保護および制限できます。この方式をIDプロバイダーと統合することで、認証されたユーザーのみがDrupal APIにアクセスできるようになります。この方式で使用されるアクセストークンは、外部IDプロバイダー(IdP)からのみ取得されます。 Drupal API認証 モジュールは Drupal 8、9、10、11 をサポートしています。
- コンポーザの使用
- ドラッシュを使用する
- 手動インストール
前提条件:
- REST UI: このモジュールは、REST モジュールを構成するためのユーザーフレンドリーなインターフェースを提供します。
- 次のWebサービスモジュールを有効にします。 延長 Drupal サイトのセクション (/admin/modules) :
- JSON:API
- REST UI
- RESTful Web サービス
- 連載
API を有効にしてメソッドを割り当てます。
- 最初のステップは、APIを有効にし、そのAPIで許可されるメソッドと操作を割り当てることです。これは、 REST UI モジュールを使用するか、Drupal 構成を直接変更します。
- 以下を行うには、 APIを有効にする
- REST UIモジュールを使用してAPIを有効にするには、 構成 ボタン(下記参照)をクリックします。
- この例では、 /エンティティ/ユーザー API を有効にします。これを行うには、その前に表示されている [有効にする] オプションをクリックします。
- 私たちの目標は Drupal でユーザーを作成することなので、次の構成を選択します。
- 方法: POST
- フォーマット: JSONの
- 認証プロバイダー: REST API 認証
- これにより、miniOrange API認証モジュールがAPIを認証できるようになります。 設定を保存 続行するにはボタンを押します。
構成手順
1. 外部IDプロバイダーの認証方法を設定する:
- このステップでは、 外部 ID プロバイダー API認証として設定します。これを行うには、 API認証 モジュールのタブ (/admin/config/people/rest_api_authentication/auth_settings)。
- 基本構成、有効にする 認証を有効にする トグル。
- 入力する アプリケーション名 をクリックして 外部 ID プロバイダー 認証方法 のセクションから無料でダウンロードできます。
- 下にスクロールして 外部IDプロバイダーの設定 同じタブのセクション。
- 入力する ユーザー情報エンドポイント 指定されたフィールドに ID プロバイダーの ID を入力すると、モジュールは提供されたトークンを使用してユーザーの詳細を取得できます。
- ユーザー名の属性、外部プロバイダーから送信されたユーザー名を含む ID プロバイダーの属性キーまたは名前を入力します。
- クリック 構成の保存
- 外部 ID プロバイダー メソッドが正常に構成されました。
注意: API を認証するときに、アプリケーション固有の一意のヘッダーを使用します。
ユーザーを作成するためのロール権限を付与する
- 必要に応じて、管理者以外のDrupalロールにユーザーの作成を許可できます。これを行うには、Drupalサイトの権限ページ(/admin/people/permissions)で、必要なロールに「ユーザー管理」権限を割り当てます。
2。 例:
- 理解を深めるために、Drupal のユーザー作成 API に外部 ID プロバイダーベースの認証を追加する例を見てみましょう。
- Drupal でユーザーを作成するには、ID プロバイダーから受け取ったトークンとともに POST リクエストを送信します。
注意: Drupal の /entity/user API は、新しいユーザーを作成するために使用されます。
HTMLリクエストフォーマット - リクエスト: POST /entity/user?_format=json ヘッダー: AUTH-METHOD: application_id トークン: Accept: application/json コンテンツタイプ: application/json 本文: { "name": { "value": " " }, "メール": { "値": " " }, "pass": { "value": " " }, "status": { "value": "1" } } CURLリクエストフォーマット - curl --location --request POST ' /entity/user?_format=json' \ --header 'AUTH-METHOD: application_id' \ --header 'トークン: ' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data-raw ' { "name": [ { "value": "ユーザー名" } ], "mail": [ { "value": "メールアドレス" } ], "pass": [ { "value": "パスワード" } ], "status": [ { "value": "1" } ] }
- 成功した場合、作成したユーザーの詳細が返されます (下の画像を参照)。
おめでとうございます!Drupal API 認証モジュールを使用して外部 ID プロバイダー方式を正常に設定しました。
設定が成功しなかった場合は、 drupalsupport@xecurify.comエラーウィンドウのスクリーンショットを添付していただければ、問題の解決をお手伝いし、セットアップ手順をご案内いたします。
