の検索結果 :

×

Drupal REST API 認証


このドキュメントでは、miniOrange REST API 認証モジュールで提供される各認証方法を構成して使用する手順を説明します。 このモジュールは、次の両方をサポートします。 REST など JSON API モジュール。

次のリンク「API 認証ガイド」から、すべての認証方法の詳細なセットアップ ガイドを参照できます。

弊社のモジュールでサポートしたい他のカスタム API がある場合、または何らかのサポートが必要な場合は、お気軽にお問い合わせください。 drupalsupport@xecurify.com 完全な機能を確認するにはここをクリックしてください リスト.

1.ベーシック認証

  • 基本認証は、クライアントが資格情報を使用して Drupal API を保護できる単純な認証メカニズムです。 この認証方法で API を使用するには、Base64 でエンコードされたユーザー名とパスワードを Authorization ヘッダーに含めてリクエストを送信する必要があります。
  • この方法を選択するには、 基本認証 以下に示すようにモジュールから。
  • Drupal API 認証は基本認証方法を選択します
  • Drupal でノード情報を取得するには、Drupal ユーザー名とユーザーのパスワードとともに GET リクエストを作成する必要があります。 ユーザー名とパスワードの値は、base64 エンコード形式である必要があります。 以下のフォーマットを参照して電話をかけることができます。
  • 
                 Request: GET <your_drupal_base_url>/node/{node}?_format=json
                 Header: 
                        Authorization: Basic base64encoded <username:api_key>
                        Accept: application/json 
                        Content-Type: application/json
                 
                 Sample curl Request Format-
                 --location --request GET '<your_drupal_base_url>/node/1?_format=json' \
                 --header 'Accept: application/json' \
                 --header 'Content-Type: application/json' \
                 --header 'Authorization: Basic base64encoded <username:API key’> \
                
  • リクエストには、それぞれ次の方法でヘッダーと本文パラメーターが含まれている必要があります。
  • Drupal API 認証の応答の送信
  • 成功した応答は次のようになります。
  • Drupal API 認証応答

    2. APIキー認証

    • API キー認証は、Drupal REST API を保護する最も簡単な方法の XNUMX つです。 すべてのユーザーの API キーを生成したら、それらのキーを使用して Drupal REST API へのアクセスを保護できます。
    • API 認証方法として API キーを設定するには、次のページに移動してください。 API認証 REST API 認証モジュールのタブ (/admin/config/people/rest_api_authentication/auth_settings)。
    • 現在地に最も近い 「認証を有効にする」チェックボックス とをクリックしてください 上記の設定を保存
    • API キーベースの認証を有効にするには、[API キー] ラジオ ボタンを選択します。
    • 同じ画面で、特定のユーザーの API キーを生成することも、すべてのユーザーの API キーを一度に生成することもできます。
    • Drupal selectAPI 認証
    • フィールド API キーのユーザー属性を作成する必要があります。 参照できます この リンクをクリックしてフィールド API キーを作成します。
    • さらに詳しく説明するために、Drupal でユーザーを作成する例を見てみましょう。
    • Drupal でユーザーを作成するには、ユーザーのユーザー名と、miniOrange REST API 認証モジュールによって提供される API キーを使用して POST リクエストを作成する必要があります。 ユーザー名と API キーは、base64 でエンコードする必要があります。 電話をかける際の参考として次の形式を使用してください。
    • 
                   Request: POST <your_drupal_base_url>/entity/user?_format=json
                   Header: 
                          Authorization: Basic base64encoded <username:api_key>
                          Accept: application/json 
                          Content-Type: application/json
                   Body:
                   
                      {
                       "name": [
                               {"value": "username"}
                         ],
                       "mail": [
                               {"value": "email"}
                         ],
                       "pass": [
                               {"value": "password"}
                         ],
                      "status":[
                               {"value": "1"}
                         ]
                     }
       
                   Sample curl Request Format-
                   --location --request POST '<your_drupal_base_url>/entity/user?_format=json' \
                   --header 'Accept: application/json' \
                   --header 'Content-Type: application/json' \
                   --header 'Authorization: Basic base64encoded’ \
                   --data-raw   '   
                     {
                       "name": [
                           {"value": "Username"}
                         ],
                       "mail": [
                           {"value": "email"}
                         ],
                       "pass":[
                           {"value": "Password"}
                         ],
                       "status":[
                           {"value": "1"
                     }
                       ]
                      
               
                  
    • リクエストには、それぞれ次の方法でヘッダーと本文パラメーターが含まれている必要があります。
    • Drupal REST API 送信応答
    • 成功した応答は次のようになります。
    • Drupal REST API 認証応答

    3. JWT認証

    • JSON Web Token (JWT) は、二者間の対話中にユーザーの ID を表す安全な方法です。 最初に、Drupal サイトの資格情報を使用して、最初に JWT トークンを取得します。 ユーザー名とパスワードを検証した後、Drupal REST API 認証モジュールは署名付き JWT トークンを作成し、後続の API リクエストのためにクライアント アプリケーションに送り返されます。
    • このトークンは、有効期限が切れるまで Drupal で操作を実行するために使用されます。 Drupal REST API 認証モジュールは、アプリケーションから有効な JWT を受信した場合にのみアクセスを許可します。
    • JWT を API 認証方法として設定するには、次のページに移動してください。 API認証 REST API 認証モジュールのタブ (/admin/config/people/rest_api_authentication/auth_settings)。
    • 現在地に最も近い 「認証を有効にする」チェックボックス とをクリックしてください 上記の設定を保存
    • [上記の設定を保存] ボタンの下で、[JWT] ラジオ ボタンを選択します。 ユーザー名を受け取る属性名を「ユーザー名属性」テキストフィールドに入力します。
    • 最後に、 JWT設定の保存
    • 外部で作成された JWT トークンを認証に使用するには、次のオプションを構成できます。
  • ユーザー名を受け取る属性名を「ユーザー名属性」テキストフィールドに入力します。
  • 外部 JWT トークンを使用する場合は、JWKS URL を指定して Drupal でそのトークンを検証することもできます。
    Drupal select jwtトークンメソッド
  • 次の例を考えてみましょう。JWT を取得するために API リクエストを開始する必要があります。 次に、トークンを利用して Drupal API を認証し、基本ページを作成します。
  • JWT を取得するには、ユーザーの Drupal 資格情報を含む POST クエリを送信する必要があります。 ユーザー名とパスワードは、base64 でエンコードされた形式で送信する必要があります。 ご参考までに、以下のリクエストのフォーマットをご参照ください。
  • 
                     Request: POST <your_drupal_base_url>/rest_api/id_token
                     Header: 
                            Authorization: Basic base64encoded <username:password;>
                            Accept: application/json
                     Sample curl Request Format-
                     --location --request POST "<your_drupal_base_url>/rest_api/id_token' \"
                     --header 'Accept: application/json'\
                     --header 'Content-Type: application/json' \
                     --header 'Authorization: Basic base64encoded’ \'
                 
  • さらに、Drupal から JWT を取得するための Postman リクエストのイメージを参照することもできます。
  • Drupal REST API JWT トークン エンドポイント
  • 成功した応答は、JWT とそのトークンの有効期限を返します。 (下の画像を参照してください)
  • Drupal REST API ID JWT トークンが成功しました
  • 受信した JWT を使用して Drupal REST API を認証するには、次のガイドを参照してください。 Drupal REST API を認証します。

4.OAuth 2.0認証

  • REST API を介して Drupal サイト API へのアクセスを認証するために、OAuth 2.0 メソッドは OAuth 2.0 プロトコル フローを使用します。 これには、Drupal サイトへのアクセスを認証するために使用されるセキュリティ アクセス トークンの取得が含まれます。 OAuth 認証方法は、高度に暗号化された安全なアクセス トークンを提供し、Drupal API の完全なセキュリティを保証します。 これは、Drupal REST または JSONAPI API エンドポイントを不正アクセスから保護するための最も安全な方法の XNUMX つとみなされています。
  • に移動します API認証 REST API 認証モジュールのタブ (/admin/config/people/rest_api_authentication/auth_settings)
  • 現在地に最も近い 「認証を有効にする」チェックボックス とをクリックしてください 上記の設定を保存
  • [上記の設定を保存] ボタンの下で、[OAuth/アクセス トークン] ラジオ ボタンを選択します。
  • 次に、「新しいクライアント ID とシークレットを生成」ボタンをクリックします。
  • Drupal のアクセス トークン選択メソッド
  • miniOrange API 認証モジュールは、アクセス トークンの取得に利用できる XNUMX つの許可タイプをサポートしています。
  • パスワードの付与: この付与タイプでは、ユーザーの Drupal ユーザー名とパスワード、および REST API 認証モジュールによって発行されたクライアント ID を含む POST リクエストを送信することで、アクセス トークンを取得できます。
  • 
             Request: POST <drupal_base_url>/rest_api/access_token
             Body: 
                 grant_type = password
                 username   = drupal_username
                 password   = drupal_password 
                 client_id  = client_id
                 
             Sample curl Request Format-
             --location --request POST '<your_drupal_base_url>/rest_api/access_token' \
             --header 'Accept: application/json'\
             --header 'Content-Type: pplication/x-www-form-urlencoded' \
             --data-urlencode 'grant_type=password' \
             --data-urlencode 'client_id= ' \
             --data-urlencode 'username='\
             --data-urlencode 'password='
         
  • Postman リクエストのイメージを参照して、パスワード付与を使用して Drupal からアクセス トークンを取得することもできます。
  • Drupal アクセス トークンの認証リクエスト
  • 成功した応答は、トークンの有効期限とトークンの種類とともにアクセス トークンを返します (下の画像を参照してください)。
  • Drupal アクセス トークンの認証リクエスト
  • クライアント認証情報の付与: この付与では、REST API 認証モジュールによって発行されたクライアント ID とクライアント シークレット、およびユーザーの Drupal ユーザー名を含む POST リクエストを行うことで、アクセス トークンを取得できます。
  • 
         Request: POST <drupal_base_url>/rest_api/access_token
         Body: 
             grant_type  = client_credentials
             client_id   = client_id
            client_secret = client_secret
            Username      = drupal_username
             
         Sample curl Request Format-
         --location --request POST '<your_drupal_base_url>/rest_api/access_token' \
         --header  'Accept: application/json'\
         --header 'Content-Type: pplication/x-www-form-urlencoded' \
         --data-urlencode 'grant_type=client_credentials' \
         --data-urlencode 'client_id= <Client_ID>'\
         --data-urlencode 'username=<drupal_username>' \
         --data-urlencode 'client_secret=<Client_secret>'
     
  • Postman リクエストのイメージを参照して、クライアント資格情報の付与を使用して Drupal からアクセス トークンを取得することもできます。
  • Drupal アクセス トークンの認証リクエスト
  • 成功した応答は、トークンの有効期限とトークンの種類とともにアクセス トークンを返します (下の画像を参照してください)。
  • Drupal アクセス トークンの認証リクエスト
  • API呼び出しを行ってアクセストークンを取得します。 次に、これを使用して Drupal API を認証し、ユーザーの情報を取得します。 この リンクをクリックします。

5. サードパーティプロバイダーの認証

  • このメソッドを実装するには、Google、Azure AD などのサードパーティ プロバイダーからトークンを取得する必要があります。これらのトークンを使用すると、Drupal の REST API に安全にアクセスできます。
  • 外部 ID プロバイダー認証を使用するには、アイデンティティ プロバイダーによって提供されるユーザー情報エンドポイントと、アイデンティティ プロバイダーに関連付けられたユーザー名属性を指定してモジュールを構成する必要があります。 構成が完了すると、プロバイダーから提供されたトークンを使用してすべての Drupal API リクエストを認証できます。
  • に移動します API認証 REST API 認証モジュールのタブ (/admin/config/people/rest_api_authentication/auth_settings)
  • 刻む 「認証を有効にする」チェックボックス ヒット 上記の設定を保存
  • [設定を上に保存] ボタンの下で、[外部 ID プロバイダー] ラジオ ボタンを選択します。
  • [ユーザー情報エンドポイント] テキスト ボックスに、アイデンティティ プロバイダーのユーザー情報エンドポイントを入力します。 これにより、モジュールは提供されたトークンを使用してユーザーの情報を取得できるようになります。
  • 「ユーザー名属性」フィールドに、外部プロバイダーがユーザー名を送信するために使用するアイデンティティープロバイダーの属性キー/名前を入力します。
  • Drupal はサードパーティの認証方法を選択します
  • Drupal でユーザーを作成するには、ID プロバイダーから受け取ったトークンとともに POST リクエストを行う必要があります。
  • 
             Request: POST <your_drupal_base_url>/entity/user?_format=json
             Header: 
                     Token: <Token_receievd_from_external_identity_provider>
                     Accept: application/jsonContent-Type: application/json
             Body:
             
                {
                  "name": [
                             {"value": "username"}
                     ],
                  "mail": [
                             {"value": "email"}
                     ],
                  "pass": [
                             {"value": "password"}
                     ],
                 "status": [
                             {"value": "1"}
                     ]
                }
          
             Sample curl Request Format-
             --location --request POST '<your_drupal_base_url>/entity/user?_format=json' \
             --header 'Accept: application/json' \
             --header 'Content-Type: application/json' \
             --header 'Token: ' \
             --data-raw   '   
              {
                 "name": [
                     {"value": "Username"}
                 ],
                 "mail": [
                     {"value": "email"}
                 ],
                 "pass": [
                     {"value": "Password"}
                 ],
                 "status": [
                     {"value": "1"}
                 ]
              }
     
             
  • 以下に追加された Postman リクエストのイメージを参照してください。
  • Drupal サードパーティ認証リクエスト
  • 成功した応答は、作成されたユーザー情報を返します -
  • Drupal サードパーティ認証応答

24時間7日のアクティブサポート

問題が発生した場合、またはご質問がある場合は、お気軽にお問い合わせください。 drupalsupport@xecurify.com。 モジュールにいくつかの追加機能を含めたい場合は、当社までご連絡ください。カスタムメイドで対応させていただきます。 また、ご希望に応じて、Drupal REST API 認証モジュールの構成を支援するオンライン ミーティングをスケジュールすることもできます。

その他のリソース

当社のその他のモジュール

こんにちは!

助けが必要? 私たちはここにいます!

サポート
miniOrange サポートにお問い合わせください
成功

お問い合わせありがとうございます。

24 時間以内に当社からのご連絡がない場合は、お気軽にフォローアップ メールを送信してください。 info@xecurify.com