ユーザーのセッションを取り消す

POST /v1/users/{user_id}/sessions:revoke · 権限 sessions:write

ユーザーのセッションと、それに紐づくリフレッシュトークンファミリーを取り消します。それらのセッションによって発行されたアクセストークンは、イントロスペクションと失効チェックで受け付けられなくなります。ボディがない場合(または {} の場合)、ユーザーのすべてのセッションが取り消されます。フィルターは最大 1 つまで指定できます。

すでに取り消されているか期限切れのセッションはカウントされないため、繰り返し呼び出しても、件数ゼロで成功します。すべての取り消しは管理監査ログに記録されます。再試行を安全にするには、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