組織を選択

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

ホスト型の組織選択画面でユーザーが選んだ組織を、認可リクエストにバインドします。サーバーは選択内容を再度検証します。呼び出し時点で organization_id が、このユーザーとこのアプリケーションについて 選択可能な組織の一覧取得 の一覧に含まれる場合にのみ受け付けます。それ以外の値は 422 validation_failed となり、次の場合を含めて何もバインドされません。

成功すると、組織はリクエストに一度だけ書き込まれ、以後変更できません。レスポンスには認可エンドポイントの再開 URL である continue_url が含まれます。ブラウザはその URL に移動し、バインドされた組織を使って認可が続行されます。

リクエストの条件と 404 の応答は一覧取得と同じです。認証済みユーザーの __Host-idp_session Cookie が必要です。Cookie がない、期限切れ、または失効している場合は 401 unauthenticated を返します。

リクエスト

パスパラメータ:

パラメータ 説明
authorization_request_id 組織選択画面の URL の authorization_request の値(azr_…)。

ヘッダー:

ヘッダー 必須 説明
Idp-Client はい SDK の識別子。
Origin はい 正確に https://<サインインホスト> である必要があります。
Content-Type はい application/json。

本文:

フィールド 型 必須 説明
organization_id string はい 一覧に含まれる組織の id(org_…)。

レスポンス

200 OK:

フィールド 型 説明
continue_url string ブラウザが進む先。認可エンドポイントの再開 URL です。
{"continue_url": "/oauth2/authorize/resume?authorization_request=azr_01jbz6x8kq3m2n4p5r6s7t8v9w"}

エラー

ステータス コード 発生条件
400 malformed_request 本文が有効な JSON ではない。
400 unknown_field 本文に organization_id 以外のフィールドがある。
401 unauthenticated 有効なセッション Cookie がない。
403 origin_not_allowed Origin がない、または不正である。
404 not_found リクエストが不正、不明、期限切れ、終了済み、別のホストのもの、または別のブラウザのものである。
409 conflict リクエストに既に組織がある。
413 payload_too_large 本文が大きすぎる。
415 unsupported_media_type Content-Type が application/json ではない。
422 validation_failed organization_id がないか、一覧に含まれる組織ではない。
503 temporarily_unavailable 組織の一覧を読み取れなかった。

例

curl -X POST https://example.keenauth.app/fapi/v1/authorization-requests/azr_01jbz6x8kq3m2n4p5r6s7t8v9w:select-organization \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"organization_id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w"}'