조직의 세션 취소
POST /v1/organizations/{org_id}/sessions:revoke · 권한 sessions:write
조직 컨텍스트에서 열린 모든 활성 세션을 모든 사용자에 대해, 조직을 위해 발급되었거나 그 세션에 묶인 refresh token 패밀리와 함께 취소합니다. 조직을 위해 발급된 액세스 토큰은 그 순간부터 introspection과 취소 확인에서 더 이상 수락되지 않습니다. 보안 사고 후나 조직 이용을 종료할 때 사용하세요. 한 사용자나 한 세션만 로그아웃하려면 사용자의 세션 취소를 사용하세요.
본문에는 reason이 있어야 합니다. 이 값은 관리 감사 기록에만 메모로 저장됩니다. 세션 자체는 취소 사유 admin으로 종료됩니다. 이미 취소되었거나 만료된 세션은 집계되지 않으므로, 같은 호출을 반복해도 개수 0으로 성공합니다. 재시도를 안전하게 하려면 Idempotency-Key 헤더를 보내세요.
요청
| 매개변수 | 위치 | 필수 | 설명 |
|---|---|---|---|
org_id |
path | 예 | 조직 ID, org_ 접두사가 붙습니다. |
본문:
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
reason |
문자열 | 예 | 감사 로그용 메모입니다. 1-256자이며 제어 문자나 줄바꿈을 포함할 수 없습니다. |
응답
200 OK.
{
"revoked_sessions": 42,
"revoked_token_families": 57
}
| 필드 | 설명 |
|---|---|
revoked_sessions |
이 호출로 취소된 세션 수. |
revoked_token_families |
이 호출로 취소된 refresh token 패밀리 수. |
오류
모든 오류는 안정적인 code를 포함한 application/problem+json 본문으로 반환됩니다.
| HTTP | code |
언제 |
|---|---|---|
| 400 | malformed_request, unknown_field |
본문이 올바른 JSON이 아니거나 알 수 없는 필드가 있습니다. |
| 415 | unsupported_media_type |
Content-Type: application/json 없이 본문을 보냈습니다. |
| 422 | validation_failed |
reason이 없거나 비어 있습니다(required). 256자를 넘습니다(too_long). 또는 제어 문자나 줄바꿈을 포함합니다(invalid_value). |
| 404 | not_found |
조직이 이 환경에 없습니다. |
| 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/organizations/org_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions:revoke \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"reason": "Security incident INC-1042"}'
CLI: keenauth organizations sessions revoke org_0a1b2c3d4e5f6g7h8j9k0m1n2p --reason "Security incident INC-1042" --yes