DrupalのJSON:API モジュールは、コンテンツをAPIとして公開する強力な方法を提供しますが、セキュリティと使いやすさには、適切な認証方法を選択することが不可欠です。このレビューでは、DrupalのJSONモジュールを扱う際に利用できるさまざまな認証オプションを探ります。
コアの認証方法
Drupal REST & JSON API Authenticationモジュール は、次のようなさまざまな認証方法を使用して、DrupalサイトのAPIへの無許可アクセスを制限し、保護します:
このモジュールは、ヘッドレス/デカップルドのDrupal構成でAPIコールを認証することも可能にします。
JSON Drop APIでコンテンツとコンテンツタイプを作成・編集する
JSON Drop APIはDrupal CMSをベースにしています。Drupalは構造化コンテンツを管理するための強力なツールを提供する堅牢なコンテンツ管理システムです。JSON Drop APIはこれらの機能を基盤に動的なコンテンツ処理を可能にし、外部システムとのシームレスな統合を実現します。以下は、特にJSON Dropプラットフォーム内でDrupalにおけるコンテンツの作成・編集に関わる主要な概念とモジュールです。
📦 コンテンツタイプ
コンテンツタイプはDrupalで情報を構造化するための基本です。各コンテンツタイプは、記事、ランディングページ、製品、FAQなどの特定の種類のコンテンツを定義するテンプレートとして機能します。コンテンツタイプには以下が含まれます。
-
機械可読な名前と人間が読めるラベル。
-
コンテンツのニーズに合わせた一連のフィールド(例:テキスト、画像、ファイル、ブール値、エンティティ参照)。
-
フォームモードとビューモードのカスタマイズ可能な表示設定。
/frontend-examples/articles-with-tags-filterフォルダには、JSON Drop APIを使用するNext.jsアプリケーションがあります。
概要
これは、タグ付き記事の管理とフィルタリング機能を備えた、JSON Drop APIとの統合を実演するNext.jsアプリケーションです。
JsonDrop APIは、バックエンド/フロントエンド間のやり取りにJSON:API実装を使用しており、以下への完全準拠の実装です。
すぐに使えるエンドポイントが含まれたPostmanコレクション:
https://drive.google.com/file/d/1rMf0XdrK1zXwPqLQVsTH44Z2ttFxj7ss/view?usp=drive_link
JSON:API仕様は、それ自体の言葉で言えば次のとおりです。
クライアントがリソースの取得や変更をどのように要求すべきか、またサーバーがそれらの要求に対してどのように応答すべきかを定めた仕様。
JSON:APIサーバーエンドポイントドキュメント
フィルター
タグIDによる記事のフィルタリング
GET
{{host}}/jsonapi/node/article?include=field_image,field_tags&sort=-created&filter[field_tags.meta.drupal_internal__tid]=2
JSON Drop APIの要件
JSON Drop APIはDrupal 11上に構築されており、自己完結型パッケージとして配布されています — Composerのセットアップは不要です。そのため、デプロイが速く、設定が簡単で、共有ホスティングのような制約のある環境でも実行できるほど軽量です。
最小要件:
-
PHP:8.3以降
-
データベース:MySQL、MariaDB
JSON Drop APIのインストール手順
JSON Drop AIは、PHPをサポートしDrupal 11の要件を満たす共有ホスティングプロバイダーでも動作するように設計されています。次のことが可能です:
JSON Drop APIは、Drupalの堅牢なJSON:APIエコシステムを活用した、強力なDrupalベースのバックエンドサーバーです。最小限の構成と最大限の柔軟性で、APIを迅速にプロトタイプ作成、構築、拡張できます。
なぜJSON Drop APIなのか?
JSON Drop APIは、フロントエンド開発者(Next.js、Angular、Vue.js)が、バックエンドコードを一切書かずに、強力なAPIファーストのバックエンドを簡単にセットアップできるようにします。
-
コード不要のバックエンド:Drupalコンテンツから構造化されたRESTfulなJSONエンドポイントを即座に生成します。
-
AI・自動化対応:標準化されたJSONレスポンスを使用して、AIツール、LLM、自動化システムとシームレスに統合します。
注意:可能であればComposerインストールを使用してください。ComposerなしではDrupalモジュールの寄せ集めを更新するのは困難です。
共有ホスティングなどでは、コンソールやcomposerにアクセスできないことがあります。しかし、それでもEPTモジュールをインストールすることは可能です。各Drupal.orgプロジェクトページでリリースバージョンのリンクに移動し、EPTモジュールをDrupal.orgから一つずつダウンロードできます:
https://www.drupal.org/project/ept_core
注意:可能であればComposerインストールを使用してください。ComposerなしではDrupalモジュールの寄せ集めを更新するのは困難です。
共有ホスティングなどでは、コンソールやcomposerにアクセスできないことがあります。しかし、それでもEBTモジュールをインストールすることは可能です。各Drupal.orgプロジェクトページでリリースバージョンのリンクに移動し、EBTモジュールをDrupal.orgから一つずつダウンロードできます:
https://www.drupal.org/project/ebt_core