DrupalでAPIキー認証を設定する
APIキー認証は、Drupal APIをシンプルかつ効果的に保護する方法を提供します。ユーザー用のAPIキーを生成すると、これらのキーは固有の識別子として機能し、Drupal APIへのアクセスを管理および保護するのに役立ちます。認証のために、クライアントは各リクエストのAuthorizationヘッダーでユーザーのDrupalユーザー名とAPIキーを送信する必要があります。 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. APIキー認証方法の設定:
- このステップでは、APIキーを生成します。これを行うには、 API認証 モジュールのタブ (/admin/config/people/rest_api_authentication/auth_settings)。
- 基本構成、有効にする 認証を有効にする トグル。
- 入力する アプリケーション名 をクリックして APIキー 認証方法 のセクションから無料でダウンロードできます。
- 下にスクロールして APIキーの設定 同じタブのセクション。
- ドロップダウンから認証タイプを選択します。
- ユーザー名を入力 テキストフィールドにAPIキーを生成するユーザー名を入力し、 生成する
- APIキーが生成されたら、 構成の保存 ページの下部にあるボタンをクリックします。
- クリック 構成の保存
- すべてのユーザーに対してキーを生成する場合は、 すべてのユーザーのキーを生成する
注意: これはプレミアム機能です。無料版のモジュールでは、ユニバーサルキーを使用して認証が行われます。
- API キー認証方法が正常に構成されました。
注意: API を認証するときに、アプリケーション固有の一意のヘッダーを使用します。
- 生成されたAPIキーは、 APIキー ユーザー プロファイルのフィールド。
- エンドユーザーにも API キーを生成させたい場合は、画像に示すように権限を有効にすると、エンドユーザーが API キー管理を利用できるようになります。
ユーザーを作成するためのロール権限を付与する
- 必要に応じて、管理者以外のDrupalロールにユーザーの作成を許可できます。これを行うには、Drupalサイトの権限ページ(/admin/people/permissions)で、必要なロールに「ユーザー管理」権限を割り当てます。
2。 例:
- 理解を深めるために、Drupal のユーザー作成 API で API キーベースの認証を使用する例を見てみましょう。
- Drupalでユーザーを作成するには、ユーザーのDrupalユーザー名とminiOrange REST API認証モジュールによって発行されたAPIキーを指定したPOSTリクエストを送信する必要があります。ユーザー名とAPIキーはBase64形式でエンコードされている必要があります。呼び出し方法については、以下の例を参照してください。
- 以下に示すPostmanリクエスト画像も参照してください。
注意: Drupal の /entity/user API は、新しいユーザーを作成するために使用されます。
HTMLリクエストフォーマット -
リクエスト: POST /entity/user?_format=json
ヘッダ:
認証方法: application_id
受け入れる: application/json
コンテンツタイプ:application / json
APIキー: base64_encoded
(値は、ユーザー名:api-key の形式で Base64 エンコードされている必要があります。)
ボディ:
{
"名前": {
"価値": " 「
},
"郵便": {
"価値": " 「
},
"合格": {
"価値": " 「
},
"状態": {
「値」:「1」
}
}
CURLリクエストフォーマット -
curl --location --request POST ' /entity/user?_format=json' \
--header '認証方法: application_id' \
--header '受け入れる: application/json' \
--header 'コンテンツタイプ: application/json' \
--header '認証: 基本 base64 エンコード' \
--data-raw '
{
"名前": [
{ "値": "ユーザー名" }
],
"郵便": [
{ "値": "メールアドレス" }
],
"合格": [
{ "値": "パスワード" }
],
"状態": [
{ "値": "1" }
]
}
- 成功した場合、作成したユーザーの詳細が返されます (下の画像を参照)。
おめでとうございます!Drupal API 認証モジュールを使用して API キー認証方式を正常に設定しました。
設定が成功しなかった場合は、 drupalsupport@xecurify.comエラーウィンドウのスクリーンショットを添付していただければ、問題の解決をお手伝いし、セットアップ手順をご案内いたします。
