Client Key
Client Key はトークン署名に使用する暗号鍵ペアです。公開鍵は検証用に JWKS で公開され、秘密鍵は公開されません。
スキーマ
interface ClientKey {
kid: string; // JWT ヘッダーで使うキー ID
credential_id: string; // Client ID(cid...)
jwk: object; // 公開 JWK
public_key: string; // PEM 形式公開鍵
}
プロパティ
| Property | Type | Description |
|---|---|---|
kid | string | キー ID(JWT ヘッダーの kid) |
credential_id | string | この鍵が属する Client |
jwk | object | 公開 JWK 表現 |
public_key | string | PEM 形式公開鍵 |
JWKS 表現
公開鍵は /.well-known/jwks.json で公開されます。
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"kid": "key_2kHfPZcN9xW4mE8RtY7vB",
"alg": "RS256",
"n": "0vx7agoebG...",
"e": "AQAB"
}
]
}
鍵ローテーション
ベストプラクティス:
- 定期的に鍵をローテーションする
- 移行期間は 2〜4 本の鍵を同時に有効化する
- 古い鍵はトークン検証のため JWKS に残す
例
{
"kid": "key_2kHfPZcN9xW4mE8RtY7vB",
"credential_id": "cid_1jGePYbM8wV3lD7QsX6uA",
"jwk": { "kty": "RSA", "kid": "key_..." },
"public_key": "-----BEGIN PUBLIC KEY-----..."
}
関連
- Client - クライアント設定
- Clients - クライアント管理
- Backend Integration - トークン検証