멤버 제거

DELETE /fapi/v1/organizations/{org_id}/memberships/{membership_id} · 환경의 로그인 호스트에서 호출

조직에서 멤버를 제거합니다. 멤버십은 removed 상태가 되며, 사용자의 이 조직에 대한 세션과 토큰은 폐기됩니다. 사용자의 계정과 다른 조직은 변경되지 않습니다.

정확한 Origin이 포함된 인증된 사용자의 __Host-idp_session 쿠키 또는 자사 앱의 Front API 액세스 토큰(DPoP 증명과 함께 Authorization: DPoP <token>)이 필요합니다. 자세한 내용은 Front API 액세스 토큰을 참조하세요. 사용자는 idp_members:remove 권한을 가진 조직의 활성 멤버여야 합니다. 멤버가 아닌 사용자는 404 not_found를, 권한이 없는 멤버는 403 insufficient_permissions를 받습니다.

멤버 제거는 민감한 작업입니다. 사용자는 최근 5분 이내에 로그인했어야 합니다. 그렇지 않으면 WWW-Authenticate에 max_age=300이 명시된 401 step_up_required를 반환합니다. 이 경우 maxAge: 300으로 사용자를 다시 로그인시킨 뒤 재시도하세요. 이 검사는 조직에 관한 어떤 정보도 읽기 전에 수행됩니다.

@keenauth/js를 사용하는 경우: await keenauth.organizations.removeMember(orgId, membershipId).

요청

헤더:

헤더 필수 여부 설명
Idp-Client 예 SDK 식별자입니다.
Origin 쿠키 사용 시 예 https://<sign-in host>.
If-Match 아니요 멤버 목록에서 받은 버전 하나, "<version>"입니다. 버전이 일치하지 않거나 여러 버전을 보내면 412 precondition_failed를 반환합니다.

org_id: 조직 식별자(org_…)입니다. membership_id: 멤버십 식별자(mem_…)입니다.

본문은 없습니다.

응답

204 No Content.

오류

상태 코드 코드 발생 조건
400 malformed_request If-Match 형식이 잘못되었습니다.
401 unauthenticated 유효한 세션 쿠키 또는 토큰이 없습니다.
401 step_up_required 사용자가 5분 넘게 전에 로그인했습니다.
403 insufficient_permissions 사용자에게 idp_members:remove 권한이 없거나, 멤버십이 사용자 본인의 것입니다.
403 role_not_assignable 멤버가 권한이 있는 역할을 가지고 있고 사용자는 관리자 역할을 가지고 있지 않습니다.
403 origin_not_allowed Origin이 일치하지 않습니다.
404 not_found 이 사용자에 대한 해당 조직 또는 멤버십이 없습니다. 알 수 없거나 형식이 잘못되었거나 다른 사용자의 식별자도 같은 응답을 받습니다.
409 last_org_admin 해당 멤버가 조직의 마지막 활성 관리자입니다.
409 organization_disabled 조직이 비활성화되었거나 삭제 대기 중입니다(organization_pending_deletion).
412 precondition_failed If-Match가 멤버십의 현재 버전을 가리키지 않습니다.
503 service_unavailable 일시적으로 사용할 수 없습니다. Retry-After 이후에 다시 시도하세요.

예시

curl -X DELETE "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships/mem_01jbz6x8kq3m2n4p5r6s7t8v9b" \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -b cookies.txt

개인정보

이 엔드포인트는 개인정보를 다룹니다. 조직 멤버십과 초대가 해당합니다. KeenAuth API의 개인정보에서는 저장되는 정보, 보관 기간, 삭제 방법을 설명합니다. 어떤 필드에도 민감정보(건강, 생체 정보, 종교, 정치적 견해, 성적 지향)를 보내지 마세요.