HTTP基本認証モジュールで基本認証をセットアップする
JSON:APIでのCRUD操作の認証
JSON:APIを操作する際には、PostmanやcURLなどのツールを使用してリクエストを送信できます。デフォルトでは、これらのツールを通じて送信されるリクエストは、ユーザー認証をネイティブに管理しないため、「匿名」ユーザーからのものとして扱われます。その結果、特定のリソースへのアクセスは、Drupalサイトの匿名ユーザー用に設定された権限に基づいて制限される場合があります。
ただし、目的がJSON:APIを介して作成、更新、削除(CRUD)操作を行うことである場合、匿名アクセスだけでは不十分です。これらの操作には認証済みアクセスが必要です。Drupalは複数の認証方法をサポートしており、さまざまなcontribモジュールとコアモジュールで有効にできます。
最も一般的に使用される方法の1つは、Drupalコアに含まれるHTTP基本認証です。より高度なユースケースでは、Drupal REST & JSON API Authenticationのようなモジュールが、拡張された認証機能とカスタマイズオプションを提供し、アプリケーションのニーズに合わせてセキュリティモデルを調整できます。
認証済みリクエストを行う手順
- この例では、すべての操作が有効になっていることを確認します

- HTTP基本認証モジュールを有効にします

- APIユーザー用のロールを作成します

- そのロールに必要な権限を付与します。 /admin/people/permissions/api_user
- この例では、
*Article*: Create new content権限を付与するようにしてください - APIユーザー権限を持つユーザーを作成します。 /admin/people/create

- Postmanで認証を設定します。作成したばかりのアカウントを使用します

- Content-Typeヘッダー
application/vnd.api+json

- ボディを更新します:
{ "data": { "type": "node--article", "attributes": { "title": "This page is created trough JSON:API", "body": { "value": "some body text", "format": "plain_text" } } } } - リクエストを送信してレスポンスを確認します。ステータスコードが201なら、JSON:APIへの認証済みリクエストが成功し、articleタイプのノードが作成されたことになります

JSON:APIは、DrupalでのAPI構築プロセスを簡素化する強力で標準化された仕様です。Drupal 8以降でコアモジュールとして導入され、開発者は大規模なカスタム開発を行うことなく、一貫性のある明確に定義されたAPIを通じてコンテンツやデータを公開できます。
JSON:APIモジュールを有効にするだけで、JSON:API仕様に準拠した構造化APIへ即座にアクセスできます。これにより、直感的なURLパターンと予測可能なレスポンス形式を使用して、Drupalサイトのコンテンツと簡単にやり取りできます。フロントエンドアプリケーション、統合、デカップリングアーキテクチャに最適です。
より高度な機能とベストプラクティスを調べるには、Drupal JSON:API Module Documentationを参照してください。このドキュメントは、ページネーション、フィルタリング、ソート、ファイルアップロードなどの機能に関する包括的なガイダンスを提供し、Drupalプロジェクト内でJSON:APIの可能性を最大限に引き出すのに役立ちます。