Cloud Auth が提供する全5つの API エンドポイントの一覧と、詳細なパラメータ制約ルールです。
本システムは Connect RPC 規格に準拠した POST 通信を行います。詳細なスキーマについては各項目の詳細リンクを参照してください。
/auth.v1.AuthService/Login認証用メールアドレスとパスワードによるログイン。成功時にセッションCookie(ca_access_token, ca_refresh_token)が自動発行されます。
| フィールド | データ型 | 必須 | 制約ルール | 説明 |
|---|---|---|---|---|
| string | 必須 | 最大254文字 / メールアドレス正規表現 | ログインに使用するユーザーのメールアドレス。 | |
| password | string | 必須 | 最小8文字 〜 最大128文字 | 登録済みのパスワード。 |
| フィールド | データ型 | 構造 | 説明 |
|---|---|---|---|
| user | object | User 構造体 | 認証に成功したユーザーのプロファイル情報。 |
| user.id | string | UUID 形式 | ユーザーを識別するシステム内部のユニークID。 |
| user.email | string | - | ユーザーのメールアドレス。 |
| user.displayName | string | - | ユーザーの画面表示名。 |
| user.role | string | Enum値 | 割り当てロール(USER_PRIMARY: オーナー / USER_SECONDARY: ユーザー)。 |
| tokens | object | AuthTokens 構造体 | セッションの認証キー情報(Cookieの他、本返却値からも取得可能)。 |
| tokens.expiresIn | int64 | 秒数 | アクセストークンの有効寿命(通常 900 秒 = 15 分)。 |
/auth.v1.AuthService/Register新規テナント(組織・グループ)を初期化すると同時に、そのテナントオーナーとなる管理者アカウントを作成します。
| フィールド | データ型 | 必須 | 文字数制限・ルール | パラメータ詳細説明 |
|---|---|---|---|---|
| string | 必須 | 最大254文字 / メールアドレス形式 | 登録するアカウントの代表メールアドレス。 | |
| password | string | 必須 | 最小8文字 〜 最大128文字 | 初期パスワード(PBKDF2 SHA-256でハッシュ化)。 |
| name | string | 任意 | 最大100文字 | 表示用ニックネーム(省略時はアドレスの一部を使用)。 |
| tenantId | string | 必須 | 最小1文字 〜 最大64文字 / 英数字とハイフン | 新規テナントのURLや隔離空間で用いる固有キー。 |
| フィールド | データ型 | 構造 | 説明 |
|---|---|---|---|
| user | object | User 構造体 | 新規作成されたテナント管理者のユーザープロファイル。 |
| tokens | object | AuthTokens 構造体 | ログイン時に付与されるJWTおよび更新キー情報。 |
/auth.v1.AuthService/Logoutログイン中のセッションCookieを無効化します。リクエストパラメータ(Body)は不要です。
レスポンス形式:
空の JSON レスポンス {} が返されます。
レスポンスヘッダのCookie消去命令:
Set-Cookie: ca_access_token=; Path=/; HttpOnly; Secure; SameSite=Lax; Max-Age=0;
Set-Cookie: ca_refresh_token=; Path=/; HttpOnly; Secure; SameSite=Lax; Max-Age=0;
/auth.v1.UserService/GetUserセッションCookieに含まれる認証情報を用いて、ログインしているユーザー自身のプロファイル情報を取得します。
| フィールド | データ型 | 必須 | 文字数制限・ルール | パラメータ詳細説明 |
|---|---|---|---|---|
| userId | string | 任意 | 最大64文字 / UUID・ID形式 | 照会するユーザーのID。省略時は現在ログイン中の自身のプロファイルが返却されます。 |
| フィールド | データ型 | 構造 | 説明 |
|---|---|---|---|
| user | object | User 構造体 | 指定された、あるいはログイン中のユーザーの完全情報。 |
| user.id | string | UUID形式 | ユーザーID。 |
| user.email | string | - | メールアドレス。 |
| user.displayName | string | - | ユーザーの表示名。 |
| user.role | string | Enum値 | 割り当てロール(USER_PRIMARY: オーナー / USER_SECONDARY: ユーザー)。 |
API のリクエスト・レスポンスに含まれる列挙型(Enum)の定義です。
API のレスポンスに含まれる user.role の値です。
| ロール値 (Enum) | 日本語名 | できること |
|---|---|---|
| USER_PRIMARY | オーナー | 自分のテナントのユーザーを作成・管理し、API キーを発行できます。 自己登録したアカウントはこのロールになります。 |
| USER_SECONDARY | ユーザー | オーナーが作成するアカウントです。API 経由でのみ利用でき、 管理画面にはログインできません。 |
これ以外のロール値は、サービス運営側の管理アカウントに割り当てられるものです。 連携するアプリケーションが受け取ることはありません。
| 識別値 (Enum) | 数値値 | プロバイダ名称 | 現在の提供ステータス |
|---|---|---|---|
| OAUTH_PROVIDER_UNSPECIFIED | 0 | 未指定 / 未知のプロバイダ | 予約済 |
| OAUTH_PROVIDER_GOOGLE | 1 | Google アカウント認証 | 有効 (本番提供中) |
| OAUTH_PROVIDER_GITHUB | 2 | GitHub アカウント認証 | 無効化済 (セキュリティ制限のため非推奨) |