Chapter 3

API エンドポイント & パラメータ詳細

Cloud Auth が提供する全5つの API エンドポイントの一覧と、詳細なパラメータ制約ルールです。

📋 API エンドポイント一覧

本システムは Connect RPC 規格に準拠した POST 通信を行います。詳細なスキーマについては各項目の詳細リンクを参照してください。

HTTP メソッドRPC パス (エンドポイント)機能名認証要求詳細リンク
POST/auth.v1.AuthService/Loginログイン (Cookie発行)不要詳細を確認 →
POST/auth.v1.AuthService/Register新規テナント & 管理者登録不要詳細を確認 →
POST/auth.v1.AuthService/Logoutログアウト (Cookieクリア)要 (Cookie)詳細を確認 →
POST/auth.v1.UserService/GetUserユーザー情報・プロファイル取得要 (Cookie)詳細を確認 →

POST/auth.v1.AuthService/Login

認証用メールアドレスとパスワードによるログイン。成功時にセッションCookie(ca_access_token, ca_refresh_token)が自動発行されます。

📥 リクエスト パラメータ

フィールドデータ型必須制約ルール説明
emailstring必須最大254文字 / メールアドレス正規表現ログインに使用するユーザーのメールアドレス。
passwordstring必須最小8文字 〜 最大128文字登録済みのパスワード。

📤 レスポンス パラメータ

フィールドデータ型構造説明
userobjectUser 構造体認証に成功したユーザーのプロファイル情報。
user.idstringUUID 形式ユーザーを識別するシステム内部のユニークID。
user.emailstring-ユーザーのメールアドレス。
user.displayNamestring-ユーザーの画面表示名。
user.rolestringEnum値割り当てロール(USER_PRIMARY: オーナー / USER_SECONDARY: ユーザー)。
tokensobjectAuthTokens 構造体セッションの認証キー情報(Cookieの他、本返却値からも取得可能)。
tokens.expiresInint64秒数アクセストークンの有効寿命(通常 900 秒 = 15 分)。

POST/auth.v1.AuthService/Register

新規テナント(組織・グループ)を初期化すると同時に、そのテナントオーナーとなる管理者アカウントを作成します。

📥 リクエスト パラメータ

フィールドデータ型必須文字数制限・ルールパラメータ詳細説明
emailstring必須最大254文字 / メールアドレス形式登録するアカウントの代表メールアドレス。
passwordstring必須最小8文字 〜 最大128文字初期パスワード(PBKDF2 SHA-256でハッシュ化)。
namestring任意最大100文字表示用ニックネーム(省略時はアドレスの一部を使用)。
tenantIdstring必須最小1文字 〜 最大64文字 / 英数字とハイフン新規テナントのURLや隔離空間で用いる固有キー。

📤 レスポンス パラメータ

フィールドデータ型構造説明
userobjectUser 構造体新規作成されたテナント管理者のユーザープロファイル。
tokensobjectAuthTokens 構造体ログイン時に付与されるJWTおよび更新キー情報。

POST/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;

POST/auth.v1.UserService/GetUser

セッションCookieに含まれる認証情報を用いて、ログインしているユーザー自身のプロファイル情報を取得します。

📥 リクエスト パラメータ

フィールドデータ型必須文字数制限・ルールパラメータ詳細説明
userIdstring任意最大64文字 / UUID・ID形式照会するユーザーのID。省略時は現在ログイン中の自身のプロファイルが返却されます。

📤 レスポンス パラメータ

フィールドデータ型構造説明
userobjectUser 構造体指定された、あるいはログイン中のユーザーの完全情報。
user.idstringUUID形式ユーザーID。
user.emailstring-メールアドレス。
user.displayNamestring-ユーザーの表示名。
user.rolestringEnum値割り当てロール(USER_PRIMARY: オーナー / USER_SECONDARY: ユーザー)。

⚙️ 2.3 共通列挙型 (Enum)

API のリクエスト・レスポンスに含まれる列挙型(Enum)の定義です。

🛡️ ロール (Role) 一覧

API のレスポンスに含まれる user.role の値です。

ロール値 (Enum)日本語名できること
USER_PRIMARYオーナー自分のテナントのユーザーを作成・管理し、API キーを発行できます。 自己登録したアカウントはこのロールになります。
USER_SECONDARYユーザーオーナーが作成するアカウントです。API 経由でのみ利用でき、 管理画面にはログインできません。

これ以外のロール値は、サービス運営側の管理アカウントに割り当てられるものです。 連携するアプリケーションが受け取ることはありません。

🔗 認証プロバイダ (OAuthProvider) 一覧

識別値 (Enum)数値値プロバイダ名称現在の提供ステータス
OAUTH_PROVIDER_UNSPECIFIED0未指定 / 未知のプロバイダ予約済
OAUTH_PROVIDER_GOOGLE1Google アカウント認証有効 (本番提供中)
OAUTH_PROVIDER_GITHUB2GitHub アカウント認証無効化済 (セキュリティ制限のため非推奨)