선택할 수 있는 조직 목록 조회

GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations · 환경의 로그인 호스트에서 호출됩니다

/u/organization에 있는 호스팅 조직 선택기가 이 엔드포인트를 호출합니다. 애플리케이션의 organization_usage가 require이고 인가 요청이 organization을 지정하지 않은 경우, 인가 엔드포인트는 사용자가 로그인한 뒤 사용자의 조직을 조회합니다. 조직이 없으면 요청은 access_denied와 error_description=no_organization_membership으로 끝납니다. 하나뿐이면 화면 없이 그 조직이 바인딩됩니다. 둘 이상이면 브라우저는 이 목록을 읽는 선택기로 이동합니다.

목록에는 사용자가 활성 멤버십을 가진 조직, 활성 상태인 조직, 그리고 활성화된 애플리케이션의 조직이 들어갑니다. 목록은 slug 순이며 최대 100개 항목을 담습니다. truncated: true는 더 많은 조직이 있음을 뜻합니다. 이 세션에서 마지막으로 선택한 조직이 맨 앞에 오며 last_used: true를 가집니다. name은 고객 데이터이며 제어 문자와 방향 문자가 제거된 상태입니다. 조직에 이름이 없으면 name은 slug입니다. 목록을 읽어도 아무것도 바인딩되지 않습니다.

인가 요청은 대기 중이어야 하며, 이 로그인 호스트에서 열렸어야 하고, 인가 엔드포인트가 이 브라우저에 설정한 바인딩 쿠키를 가지고 있어야 합니다. 다음 경우에는 모두 같은 404 not_found 응답이 옵니다:

인증된 사용자의 __Host-idp_session 쿠키가 필요합니다. 쿠키가 없거나, 만료되었거나, 폐기되었으면 401 unauthenticated를 반환합니다.

요청

경로 매개변수:

매개변수 설명
authorization_request_id 선택기 URL의 authorization_request 값(azr_…).

헤더:

헤더 필수 설명
Idp-Client 예 SDK 식별자.

본문 없음.

응답

200 OK:

필드 타입 설명
data[].id string 조직 식별자(org_…).
data[].slug string 조직 slug.
data[].name string 표시 이름, 일반 텍스트.
data[].last_used boolean 이 세션에서 마지막으로 선택한 조직인지 여부.
truncated boolean 사용자에게 나열된 것보다 더 많은 자격 있는 조직이 있는지 여부.
{
  "data": [
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w", "slug": "acme", "name": "Acme", "last_used": false},
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9x", "slug": "globex", "name": "Globex", "last_used": false}
  ],
  "truncated": false
}

오류

상태 코드 발생 조건
401 unauthenticated 유효한 세션 쿠키가 없음.
404 not_found 요청이 형식에 맞지 않거나, 알 수 없거나, 만료되었거나, 종료되었거나, 다른 호스트 또는 다른 브라우저의 것임.
409 conflict 요청에 이미 조직이 있음.
503 temporarily_unavailable 조직 목록을 읽을 수 없음.

예시

curl https://example.keenauth.app/fapi/v1/authorization-requests/azr_01jbz6x8kq3m2n4p5r6s7t8v9w/organizations \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -b cookies.txt