先日リリースされた、baserCMS5の開発版、ucmitz ですが、ヘッドレス化の取り組みとして、Web API の実装が進んでいます。
(引き続きHTMLレンダリングやテーマの仕組みも提供します)
最新版のucmitz 3.0.0 のダウンロードは、baserCMS公式サイトにて確認できます。
baserCMS メジャーアップデートプロジェクト「ucmitz」3.0.0 リリース
ここでは、baserCMSのヘッドレス機能について簡単に触れたいと思います。
API認証
Web APIの認証には、JWT認証を採用しました。
認証情報を送信して、アクセストークンとリフレッシュトークを取得します。
各リソースへのアクセス時には、アクセストークンを付与する事が必要となります。
アクセストークンの有効期限が切れたら、リフレッシュトークンを利用してアクセストークンを再発行する形となります。
コンテンツごとの制限
baserCMSでは、各コンテンツをコンテンツ管理機能上のコンテンツツリーで管理する仕様となっています。
コンテンツツリー上の各フォルダについて、Web APIアクセスを許可するかどうかを設定できますので、コンテンツツリー上に配置するだけで制限をかける事ができます。
ユーザーごとの制限
ユーザーグループごとに、どのリソースへのアクセス権があるかを設定できる仕様となります。
制限は、APIのURLと、HTTPメソッドごとの制限となっています。
REST API
HTTPメソッドとURL形式による、いわゆる RESTful なURL を提供する仕組みを実装します。
詳細については baserCMS5マイグレーション方針「Web API」をご覧ください。
最近では、様々なヘッドレスCMSが登場してきましたが、オープンソースのヘッドレスCMSはまだまだ少ないと思います。
様々な開発アイデアのベースとして、baserCMS5が活用してもらえたら嬉しいですね。
現在、2022年3月のリリースを目指して開発を進めています。お楽しみに!
【これまでの「ucmitz」プロジェクト履歴】
baserCMSのCakePHP4系化プロジェクト「ucmitz」1.0.0 リリース
baserCMS メジャーアップデートプロジェクト「ucmitz」2.0.0 リリース
baserCMS メジャーアップデートプロジェクト「ucmitz」3.0.0 リリース