選択可能な組織の一覧取得

GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations · 環境のサインインホストから呼び出されます

/u/organization にあるホスト型の組織選択画面がこのエンドポイントを呼び出します。アプリケーションの organization_usage が require で、認可リクエストに organization が指定されていない場合、認可エンドポイントはユーザーのサインイン後に所属組織を検索します。所属組織がなければ、リクエストは access_denied と error_description=no_organization_membership で終了します。1 つだけであれば、画面を表示せずにその組織がバインドされます。2 つ以上あれば、ブラウザは組織選択画面に移動し、この一覧を読み取ります。

一覧には、ユーザーが有効なメンバーシップを持ち、組織が有効で、アプリケーションが有効になっている組織が含まれます。slug の順に並び、最大 100 件です。truncated: true は、さらに組織が存在することを示します。このセッションで最後に選択された組織が先頭に来て、last_used: true になります。name は顧客データで、制御文字と方向制御文字を除いたものです。組織に名前がない場合は、name は slug になります。一覧を読み取っても何もバインドされません。

認可リクエストは保留中で、このサインインホストで開かれ、認可エンドポイントがこのブラウザに設定したバインディング Cookie を持っている必要があります。次の場合はいずれも同じ 404 not_found になります。

認証済みユーザーの __Host-idp_session Cookie が必要です。Cookie がない、期限切れ、または失効している場合は 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 有効なセッション Cookie がない。
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