Personal Access Token

最終更新: 2026年7月3日

PersonalAccessToken は、Weegloo プラットフォームアカウント(Weegloo User)がサーバー・CI・スクリプトから自身の権限で CMA・Upload・CDA を呼び出すときに使う長期トークンです。ブラウザのログインフローが毎回発行する短期トークンとは異なり、一度発行すると削除するまで有効であり続けます。

PersonalAccessTokenSpace ではなくユーザーアカウントに紐づきます。そのためエンドポイントは /spaces/{spaceId} の下ではなく最上位の /personal-access-tokens パスにあり、パス変数に spaceId がありません。このトークンを使う呼び出し元は、そのユーザーが参加しているすべての Space で、各 SpaceSpaceRole が定めた権限の範囲だけ動作します。

リソース構造

次は PersonalAccessToken を生成したときのレスポンスです。sys(システム属性)にトークン値とスコープが含まれ、本文に name があります。

{
  "sys": {
    "id": "5KmQ2pVnRb8sTfWcXd3LhJ9gAe",
    "type": "PersonalAccessToken",
    "createdBy": { "sys": { "id": "2bN7kRpQ9mWx4Lt6Vy0Cf3Hs8", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-06-18T11:41:47.409Z",
    "updatedBy": { "sys": { "id": "2bN7kRpQ9mWx4Lt6Vy0Cf3Hs8", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-06-18T11:41:47.409Z",
    "accessToken": "PSNAT5SCq8Lm2vK9pXfR1Zt0Nc4Wd6Hg5Ua2Ee9Ck3PoYx8Bj6Hg5Ua2Ee9Ck3Po…",
    "scopes": ["PERSONAL"]
  },
  "name": "商品同期サーバー"
}

主なキー:

  • sys.id: PersonalAccessToken の一意な識別子です。単一取得・削除パスの {personalAccessTokenId} に入ります。
  • sys.accessToken: API 呼び出しに使うシークレットトークン値です。生成レスポンスだけでなく、その後の取得レスポンスにも同じ値がそのまま返されるため、漏えいに注意が必要です(下のセキュリティの節を参照)。
  • sys.scopes: トークンの権限スコープです。PersonalAccessToken は発行時に常に ["PERSONAL"] です。
  • name: 生成時に指定したトークン名です(例: 商品同期サーバー)。

上の例の accessToken はシークレット値のため、例示用の文字列に置き換えています。実際には PSNAT で始まる長く不透明な文字列であり、発行後に再取得しても同じ値が返ります。

システム属性 (sys)

すべての PersonalAccessToken は、共通のシステム属性とトークン固有の属性を sys オブジェクトに含みます。createdByupdatedByRefer 形式({ "sys": { "id", "type": "Refer", "targetType" } })で入ります。このリソースには space がありません。Space に紐づかず、ユーザーアカウントに紐づくユーザーレベルのトークンだからです。

属性説明
idstringリソースの一意な識別子。
typestringリソースの種類。PersonalAccessToken は常に "PersonalAccessToken"
createdByRefer<User>生成したユーザー。
createdAtstring (date-time)生成日時。
updatedByRefer<User>最後に更新したユーザー。
updatedAtstring (date-time)最終更新日時。
accessTokenstringAPI 呼び出しに使うシークレットトークン値。生成・取得のどちらのレスポンスにもそのまま返されるため、外部に漏えいしないよう扱う必要があります。
scopesstring arrayトークンの権限スコープ。PersonalAccessToken は常に ["PERSONAL"]

本文属性:

属性説明
namestring (1~64)トークン名。生成時に指定します。

セキュリティ: 露出させない

PersonalAccessToken は、そのユーザーの身元をそのまま持ちます。このトークンで呼び出すと、ユーザーが持つすべての Space メンバーシップの SpaceRole 権限で CMA・Upload・CDA を呼び出せます。権限の範囲が広く寿命が長いため、一度漏れるとそのユーザーの全権限が露出します。

  • どこにも露出しないようシークレットとして扱います。 一度漏れると、そのユーザーの全権限が外部へ渡ります。PersonalAccessToken はサーバー・CI など信頼された環境専用であり、コード・ログ・ストレージ・エラーメッセージのいずれにも平文で残しません。
  • ブラウザ・クライアントコードに埋め込みません。 ブラウザへ送った値はユーザーがそのまま閲覧できるため、事実上公開されたことになります。ブラウザで動作する管理画面は、コンテンツスタジオのログインフローで受け取る短期トークン(画面セッションに限定)を使います。
  • 訪問者に公開する読み取り専用の配信には、最小権限(least-privilege)の SpaceRole に紐づけた DeliveryAccessToken を使います。公開クライアントに PersonalAccessToken を使いません。
  • accessToken は生成時点だけでなく、取得レスポンスにも同じ値がそのまま返ります。取得結果をログ・画面・外部ストレージにそのまま残さないよう注意します。
  • 更新 API がありません(PUT・PATCH なし)。トークンを差し替えるには、既存のトークンを削除して新しく発行します。漏えいが疑われる場合はただちに削除して無効化し、新しいトークンに切り替えます。

(出典: weegloo-user-loginweegloo-delivery-access-token スキル、.claude/rules/weegloo-api-endpoints.md。)

API

以下のすべてのエンドポイントの基準 URL は https://cma.weegloo.com/v1 であり、Authorization ヘッダーに CMA を認証する Bearer トークンが必要です。PersonalAccessToken はユーザーレベルのリソースのため、パスに spaceId がありません。また更新 API がないため、一覧・生成・単一取得・削除の 4 つだけがあります。

  • Delivery Access Token: 訪問者に公開する読み取り専用の配信トークン(ブラウザ用)。
  • SpaceRole: このユーザーが各 Space で持つ権限の範囲。