ユーザーのセッションを取り消す
POST /v1/users/{user_id}/sessions:revoke · 権限 sessions:write
ユーザーのセッションと、それに紐づくリフレッシュトークンファミリーを取り消します。それらのセッションによって発行されたアクセストークンは、イントロスペクションと失効チェックで受け付けられなくなります。ボディがない場合(または {} の場合)、ユーザーのすべてのセッションが取り消されます。フィルターは最大 1 つまで指定できます。
session_id:そのセッションのみ(ユーザーのセッションである必要があります。そうでない場合は404)。org_id:その組織のコンテキストで開始されたセッションと、その組織向けの、そのユーザーのリフレッシュトークンファミリー。client_id:そのユーザーに対する、そのアプリケーションのリフレッシュトークンファミリーのみ。セッションは開いたままです。アプリケーション ID(app_…)を使用してください。Client ID Metadata Document のアプリケーションの URL 形式のclient_idは受け付けられません。
すでに取り消されているか期限切れのセッションはカウントされないため、繰り返し呼び出しても、件数ゼロで成功します。すべての取り消しは管理監査ログに記録されます。再試行を安全にするには、Idempotency-Key ヘッダーを送信してください。
リクエスト
| パラメータ | 入力 | 必須 | 説明 |
|---|---|---|---|
user_id |
path | はい | ユーザー ID。usr_ で始まります。 |
任意のボディ(フィールドは最大 1 つ):
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
session_id |
string | いいえ | セッション ID。ses_ で始まります。 |
org_id |
string | いいえ | 組織 ID。org_ で始まります。 |
client_id |
string | いいえ | アプリケーション ID。app_ で始まります。 |
レスポンス
200 OK。
{
"revoked_sessions": 2,
"revoked_token_families": 3
}
client_id を指定した場合、revoked_sessions は 0 です(セッションは開いたままです)。
エラー
すべてのエラーは、安定した code を含む application/problem+json ボディとして返されます。
| HTTP | code |
発生条件 |
|---|---|---|
| 400 | malformed_request、unknown_field |
ボディが有効な JSON ではないか、未知のフィールドがあります。 |
| 415 | unsupported_media_type |
ボディが Content-Type: application/json なしで送信されました。 |
| 422 | validation_failed |
フィルターが複数指定されています(mutually_exclusive)、ID の形式が不正です(invalid_value)、または組織かアプリケーションがこの環境に存在しません(/org_id または /client_id の not_found)。 |
| 404 | not_found |
ユーザーがこの環境に存在しないか、session_id がそのユーザーのセッションではありません。 |
| 401 | unauthenticated |
API キーがない、無効、または失効しています。 |
| 403 | insufficient_permissions |
キーに sessions:write 権限がありません。 |
| 429 | rate_limited |
レート制限を超えました。Retry-After に従ってください。 |
| 503 | service_unavailable |
依存先が一時的に利用できません。後で再試行してください。 |
例
curl -X POST https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions:revoke \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"org_id": "org_0a1b2c3d4e5f6g7h8j9k0m1n2p"}'
CLI: keenauth users sessions revoke usr_0a1b2c3d4e5f6g7h8j9k0m1n2p --org-id org_0a1b2c3d4e5f6g7h8j9k0m1n2p --yes