세션 로그아웃
POST /fapi/v1/me/sessions/{session_id}:revoke · 환경의 로그인 호스트에서 호출
인증된 사용자의 다른 세션 중 하나를 종료합니다. 해당 세션의 갱신 토큰은 취소되고, 세션이 발급한 액세스 토큰은 거부되며, 그 세션을 통해 로그인한 애플리케이션에 알림이 전송됩니다. 요청을 보낸 세션은 여기서 종료할 수 없습니다. 이 브라우저에서 로그아웃하려면 로그아웃 엔드포인트(/oauth2/logout)를 사용하십시오. 이 엔드포인트는 쿠키도 함께 삭제합니다. 인증된 사용자의 __Host-idp_session 쿠키가 필요합니다. 쿠키가 없거나, 만료되었거나, 취소된 경우 401 unauthenticated를 반환합니다. 다른 출처의 자사 애플리케이션은 대신 프런트 API 액세스 토큰(DPoP 증명과 함께 Authorization: DPoP <token>)을 보낼 수 있습니다. 자세한 내용은 프런트 API 액세스 토큰을 참조하십시오. 세션은 최근 300초 이내에 검증되어야 합니다. 그렇지 않으면 RFC 9470 WWW-Authenticate 챌린지(max_age=300)와 함께 401 step_up_required를 반환하며, 아무것도 변경되지 않습니다. 다시 로그인(예: max_age=0 또는 prompt=login)한 후 재시도하십시오. 이미 종료된 사용자의 세션은 204를 반환하며, 아무것도 변경되지 않습니다.
요청
헤더:
| 헤더 | 필수 여부 | 설명 |
|---|---|---|
Idp-Client |
예 | SDK 식별자. |
Origin |
예 | 정확히 https://<sign-in host>이어야 합니다. |
session_id: GET /fapi/v1/me/sessions가 반환한 세션 식별자(ses_…).
본문 없음.
응답
204 No Content.
오류
| 상태 | 코드 | 발생 조건 |
|---|---|---|
| 401 | unauthenticated |
유효한 세션 쿠키가 없습니다. |
| 401 | step_up_required |
세션이 300초보다 이전에 검증되었습니다. |
| 403 | origin_not_allowed |
Origin이 없거나 잘못되었습니다. |
| 404 | not_found |
이 사용자의 해당 세션이 없습니다(알 수 없거나, 형식이 잘못되었거나, 다른 사용자의 식별자도 같은 응답을 반환합니다). |
| 409 | conflict |
식별자가 요청을 보낸 세션과 동일합니다. |
예시
curl -X POST https://example.keenauth.app/fapi/v1/me/sessions/ses_01jbz6x8kq3m2n4p5r6s7t8v9w:revoke \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-b cookies.txt