トークン・認証情報
概要
トークン・認証情報APIは、JWTの署名キー、SCIMプロビジョニングトークン、Initial Access Token(IAT)などの認証情報を管理するためのエンドポイントを提供します。
エンドポイント一覧
| メソッド | エンドポイント | 説明 |
|---|---|---|
| GET | /api/admin/signing-keys | 署名キー一覧取得 |
| POST | /api/admin/signing-keys/rotate | 署名キーローテーション |
| GET | /api/admin/scim/tokens | SCIMトークン一覧取得 |
| POST | /api/admin/scim/tokens | SCIMトークン作成 |
| DELETE | /api/admin/scim/tokens/:id | SCIMトークン削除 |
| GET | /api/admin/initial-access-tokens | IAT一覧取得 |
| POST | /api/admin/initial-access-tokens | IAT作成 |
| DELETE | /api/admin/initial-access-tokens/:id | IAT削除 |
| GET | /api/admin/api-tokens | APIトークン一覧取得 |
| POST | /api/admin/api-tokens | APIトークン作成 |
| DELETE | /api/admin/api-tokens/:id | APIトークン削除 |
署名キー一覧取得
JWTの署名に使用されるキーの一覧を取得します。
エンドポイント
GET /api/admin/signing-keys
リクエスト例
curl -X GET "https://{tenant-domain}/api/admin/signing-keys" \ -H "Authorization: Bearer {token}"レスポンス例
{ "keys": [ { "kid": "key_abc123", "algorithm": "RS256", "status": "active", "use": "sig", "created_at": 1705881600, "rotated_at": null, "expires_at": null }, { "kid": "key_old456", "algorithm": "RS256", "status": "rotated", "use": "sig", "created_at": 1673345600, "rotated_at": 1705881600, "expires_at": 1706486400 } ], "current_kid": "key_abc123"}署名キーローテーション
新しい署名キーを生成し、既存のキーをローテーションします。
エンドポイント
POST /api/admin/signing-keys/rotate
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
algorithm | string | - | アルゴリズム(デフォルト: RS256) |
grace_period | integer | - | 旧キーの猶予期間(秒、デフォルト: 604800) |
リクエスト例
curl -X POST "https://{tenant-domain}/api/admin/signing-keys/rotate" \ -H "Authorization: Bearer {token}" \ -H "Content-Type: application/json" \ -d '{ "algorithm": "RS256", "grace_period": 604800 }'レスポンス例
{ "new_key": { "kid": "key_xyz789", "algorithm": "RS256", "status": "active", "created_at": 1706140800 }, "old_key": { "kid": "key_abc123", "status": "rotated", "expires_at": 1706745600 }}SCIMトークン一覧取得
SCIMプロビジョニング用のトークン一覧を取得します。
エンドポイント
GET /api/admin/scim/tokens
リクエスト例
curl -X GET "https://{tenant-domain}/api/admin/scim/tokens" \ -H "Authorization: Bearer {token}"レスポンス例
{ "items": [ { "id": "scim_token_abc123", "name": "Okta SCIM", "description": "Oktaからのプロビジョニング用", "last_used_at": 1706054400, "created_at": 1705881600, "expires_at": null } ], "total": 1}SCIMトークン作成
新しいSCIMトークンを作成します。
エンドポイント
POST /api/admin/scim/tokens
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | ○ | トークン名 |
description | string | - | 説明 |
expires_in | integer | - | 有効期間(秒、指定しない場合は無期限) |
リクエスト例
curl -X POST "https://{tenant-domain}/api/admin/scim/tokens" \ -H "Authorization: Bearer {token}" \ -H "Content-Type: application/json" \ -d '{ "name": "Azure AD SCIM", "description": "Azure ADからのプロビジョニング用" }'レスポンス例
{ "id": "scim_token_xyz789", "name": "Azure AD SCIM", "token": "scim_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "created_at": 1706140800}SCIMトークン削除
SCIMトークンを削除します。
エンドポイント
DELETE /api/admin/scim/tokens/:id
リクエスト例
curl -X DELETE "https://{tenant-domain}/api/admin/scim/tokens/scim_token_abc123" \ -H "Authorization: Bearer {token}"Initial Access Token(IAT)一覧取得
動的クライアント登録用のIATを取得します。
エンドポイント
GET /api/admin/initial-access-tokens
リクエスト例
curl -X GET "https://{tenant-domain}/api/admin/initial-access-tokens" \ -H "Authorization: Bearer {token}"レスポンス例
{ "items": [ { "id": "iat_abc123", "name": "パートナー用IAT", "uses_remaining": 5, "max_uses": 10, "expires_at": 1706745600, "created_at": 1705881600 } ], "total": 1}IAT作成
新しいInitial Access Tokenを作成します。
エンドポイント
POST /api/admin/initial-access-tokens
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | ○ | トークン名 |
max_uses | integer | - | 最大使用回数(デフォルト: 1) |
expires_in | integer | - | 有効期間(秒) |
allowed_scopes | string[] | - | 許可するスコープ |
リクエスト例
curl -X POST "https://{tenant-domain}/api/admin/initial-access-tokens" \ -H "Authorization: Bearer {token}" \ -H "Content-Type: application/json" \ -d '{ "name": "新規パートナー用", "max_uses": 5, "expires_in": 86400, "allowed_scopes": ["openid", "profile"] }'レスポンス例
{ "id": "iat_xyz789", "name": "新規パートナー用", "token": "iat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "max_uses": 5, "expires_at": 1706227200, "created_at": 1706140800}IAT削除
IATを削除します。
エンドポイント
DELETE /api/admin/initial-access-tokens/:id
リクエスト例
curl -X DELETE "https://{tenant-domain}/api/admin/initial-access-tokens/iat_abc123" \ -H "Authorization: Bearer {token}"APIトークン一覧取得
管理API用のトークン一覧を取得します。
エンドポイント
GET /api/admin/api-tokens
リクエスト例
curl -X GET "https://{tenant-domain}/api/admin/api-tokens" \ -H "Authorization: Bearer {token}"レスポンス例
{ "items": [ { "id": "api_token_abc123", "name": "CI/CD Pipeline", "scopes": ["users:read", "users:write"], "last_used_at": 1706054400, "created_at": 1705881600, "expires_at": 1737417600 } ], "total": 1}APIトークン作成
新しい管理APIトークンを作成します。
エンドポイント
POST /api/admin/api-tokens
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | ○ | トークン名 |
scopes | string[] | ○ | 権限スコープ |
expires_in | integer | - | 有効期間(秒) |
リクエスト例
curl -X POST "https://{tenant-domain}/api/admin/api-tokens" \ -H "Authorization: Bearer {token}" \ -H "Content-Type: application/json" \ -d '{ "name": "Automation Script", "scopes": ["users:read", "audit:read"], "expires_in": 31536000 }'レスポンス例
{ "id": "api_token_xyz789", "name": "Automation Script", "token": "api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "scopes": ["users:read", "audit:read"], "expires_at": 1737676800, "created_at": 1706140800}APIトークン削除
APIトークンを削除します。
エンドポイント
DELETE /api/admin/api-tokens/:id
リクエスト例
curl -X DELETE "https://{tenant-domain}/api/admin/api-tokens/api_token_abc123" \ -H "Authorization: Bearer {token}"