コンテンツにスキップ

トークン・認証情報

概要

トークン・認証情報APIは、JWTの署名キー、SCIMプロビジョニングトークン、Initial Access Token(IAT)などの認証情報を管理するためのエンドポイントを提供します。

エンドポイント一覧

メソッドエンドポイント説明
GET/api/admin/signing-keys署名キー一覧取得
POST/api/admin/signing-keys/rotate署名キーローテーション
GET/api/admin/scim/tokensSCIMトークン一覧取得
POST/api/admin/scim/tokensSCIMトークン作成
DELETE/api/admin/scim/tokens/:idSCIMトークン削除
GET/api/admin/initial-access-tokensIAT一覧取得
POST/api/admin/initial-access-tokensIAT作成
DELETE/api/admin/initial-access-tokens/:idIAT削除
GET/api/admin/api-tokensAPIトークン一覧取得
POST/api/admin/api-tokensAPIトークン作成
DELETE/api/admin/api-tokens/:idAPIトークン削除

署名キー一覧取得

JWTの署名に使用されるキーの一覧を取得します。

エンドポイント

GET /api/admin/signing-keys

リクエスト例

Terminal window
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

リクエストボディ

フィールド必須説明
algorithmstring-アルゴリズム(デフォルト: RS256)
grace_periodinteger-旧キーの猶予期間(秒、デフォルト: 604800)

リクエスト例

Terminal window
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

リクエスト例

Terminal window
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

リクエストボディ

フィールド必須説明
namestringトークン名
descriptionstring-説明
expires_ininteger-有効期間(秒、指定しない場合は無期限)

リクエスト例

Terminal window
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

リクエスト例

Terminal window
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

リクエスト例

Terminal window
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

リクエストボディ

フィールド必須説明
namestringトークン名
max_usesinteger-最大使用回数(デフォルト: 1)
expires_ininteger-有効期間(秒)
allowed_scopesstring[]-許可するスコープ

リクエスト例

Terminal window
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

リクエスト例

Terminal window
curl -X DELETE "https://{tenant-domain}/api/admin/initial-access-tokens/iat_abc123" \
-H "Authorization: Bearer {token}"

APIトークン一覧取得

管理API用のトークン一覧を取得します。

エンドポイント

GET /api/admin/api-tokens

リクエスト例

Terminal window
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

リクエストボディ

フィールド必須説明
namestringトークン名
scopesstring[]権限スコープ
expires_ininteger-有効期間(秒)

リクエスト例

Terminal window
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

リクエスト例

Terminal window
curl -X DELETE "https://{tenant-domain}/api/admin/api-tokens/api_token_abc123" \
-H "Authorization: Bearer {token}"