Auth API
最終更新: 2026年7月3日
Auth API は ServiceUser(ある Space が運営する製品の一般登録ユーザー)をソーシャルログインで認証する OAuth フローです。ServiceLogin 設定に紐づけられたプロバイダー(例: Google)でログインすると、この API が accessToken と refreshToken を発行します。発行された accessToken は ACMA・ACDA の呼び出しにのみ使う Bearer トークンであり、CMA・CDA には使用できません。アイデンティティの境界を越えるトークンは存在しません。
ベース URL は https://auth.weegloo.com/v1 で、すべてのパスは /spaces/{spaceId}/... の配下にあります。すべてのリクエストとレスポンス本文は JSON です。ブラウザアプリの場合は、このワイヤを直接扱うよりも公式 SDK weegloo-service-user の使用を推奨します。このページでは、その SDK が内部で呼び出す HTTP ワイヤを扱います。SDK を使えない環境(サーバー、ネイティブ、スクリプト)でフローを直接実装する際に参照してください。
ログインフロー
ログインは 4 つのステップで進みます。
- ブラウザをログイン入口 URL(
/spaces/{spaceId}/login/oauth2/{provider})へ遷移させます。この URL は、プロバイダー(Google)のログイン画面へつながるリダイレクトチェーンを開始します。 - ログインが完了すると、Weegloo が ServiceLogin に設定された
callbackUrlへブラウザを戻し、アドレスに?exchangeToken=<使い捨てトークン>を付与します。 - コールバックページがアドレスから
exchangeTokenを読み取り、トークン交換エンドポイント(POST /spaces/{spaceId}/oauth/token)へ送信し、レスポンスとしてaccessTokenとrefreshTokenを受け取ります。 - 以降は
accessTokenを Bearer トークンとして ACMA・ACDA を呼び出します。有効期限(expiresAt)が切れる前にrefreshTokenで更新し、ログアウト時にはトークンを破棄します。
exchangeToken は使い捨てです。コールバックを処理した直後にアドレスバーから即座に削除し、露出・再利用を防いでください(SDK を使えば自動的に処理されます)。
トークンモデル
トークン交換と更新は、同じ形式のトークンレスポンスを返します。レスポンスに含まれるトークン文字列と時刻は以下の例の値であり、実際には不透明な秘密文字列です(プロバイダーのログインを経るフローのため、実際の値をそのまま記載できません)。構造とフィールドはサーバーコードで検証した事実です。
{
"accessToken": "QY3xK9pR2mLs7Vc0Zt8Nf4Wd1Bj6Hg5Ua2Ee9Ck3PoZt8Nf4Wd",
"tokenType": "Bearer",
"scope": ["APP"],
"createdAt": "2026-06-18T05:00:00.000Z",
"expiresAt": "2026-06-19T05:00:00.000Z",
"refreshToken": "Rf7Hn2Qw9Zx4Tp1Lk6Vc3Bm8Yd5Gs0Ae2Uj7Co4NeLk6Vc3Bm",
"refreshExpiresAt": "2026-06-21T05:00:00.000Z"
}| フィールド | 型 | 説明 |
|---|---|---|
accessToken | string | ACMA・ACDA の呼び出しに使う Bearer トークン。 |
tokenType | string | トークンの種類。常に "Bearer"。 |
scope | string 配列 | トークンの権限範囲。ServiceUser トークンは ["APP"]。 |
createdAt | string (date-time) | トークンの発行時刻。 |
expiresAt | string (date-time) | accessToken の有効期限時刻。 |
refreshToken | string | accessToken を更新する際に使うトークン。 |
refreshExpiresAt | string (date-time) | refreshToken の有効期限時刻。createdAt を基準に 3 日後。 |
3 つのトークンの寿命は次のとおりです。
exchangeTokenは使い捨てで寿命が短いです。コールバック直後にすぐ交換する必要があります。交換レスポンスには含まれず、ログインフローのステップ 2 でアドレスに渡されます。accessTokenの寿命はサーバー設定に従い、正確な有効期限時刻はレスポンスのexpiresAtに含まれます。ACMA・ACDA 専用です。refreshTokenは発行後 3 日間有効です(refreshExpiresAt)。更新を呼び出すと新しいaccessTokenとrefreshTokenのペアが発行され、以前のペアは破棄されます(ローテーション、rotation)。更新するたびに直前のrefreshTokenは使用できなくなります。
API
以下の 4 つのエンドポイントのベース URL はすべて https://auth.weegloo.com/v1 です。ログイン入口(GET)、トークン交換(POST)、トークン更新(POST)、ログアウト(DELETE)の順に扱います。
関連ドキュメント
- ServiceUser ログイン (コンセプト): ServiceLogin をコンテンツスタジオで設定する方法。
- ACMA: 発行したトークンでメンバーのコンテンツを扱う API。
- ACDA: メンバーへ配信される読み取り API。
