Elegir una organización

POST /fapi/v1/authorization-requests/{authorization_request_id}:select-organization · llamado desde el host de inicio de sesión del entorno

Vincula a la solicitud de autorización la organización que el usuario eligió en el selector alojado. El servidor vuelve a comprobar la elección. Solo se acepta si organization_id figura en la lista de Listar las organizaciones entre las que elegir para este usuario y esta aplicación en el momento de la llamada. Cualquier otro valor recibe 422 validation_failed y no se vincula nada, incluidos los casos siguientes:

Si tiene éxito, la organización se escribe en la solicitud una sola vez y no puede cambiar. La respuesta incluye continue_url, la URL de reanudación del endpoint de autorización. El navegador va a esa URL y la autorización continúa con la organización vinculada.

Las condiciones de la solicitud y la respuesta 404 son las mismas que para la lista. Requiere la cookie __Host-idp_session del usuario autenticado; si la cookie falta, ha caducado o ha sido revocada, devuelve 401 unauthenticated.

Solicitud

Parámetro de ruta:

Parámetro Descripción
authorization_request_id El valor authorization_request de la URL del selector (azr_…).

Encabezados:

Encabezado Obligatorio Descripción
Idp-Client sí Identificador del SDK.
Origin sí Debe ser exactamente https://<host de inicio de sesión>.
Content-Type sí application/json.

Cuerpo:

Campo Tipo Obligatorio Descripción
organization_id string sí El id de una organización listada (org_…).

Respuesta

200 OK:

Campo Tipo Descripción
continue_url string Adonde continúa el navegador: la URL de reanudación del endpoint de autorización.
{"continue_url": "/oauth2/authorize/resume?authorization_request=azr_01jbz6x8kq3m2n4p5r6s7t8v9w"}

Errores

Estado Código Cuándo
400 malformed_request El cuerpo no es un JSON válido.
400 unknown_field El cuerpo tiene un campo distinto de organization_id.
401 unauthenticated No hay una cookie de sesión válida.
403 origin_not_allowed Origin falta o es incorrecto.
404 not_found La solicitud está mal formada, es desconocida, ha caducado, ha finalizado, o es de otro host u otro navegador.
409 conflict La solicitud ya tiene una organización.
413 payload_too_large El cuerpo es demasiado grande.
415 unsupported_media_type Content-Type no es application/json.
422 validation_failed organization_id falta o no es una de las organizaciones listadas.
503 temporarily_unavailable No se pudo leer la lista de organizaciones.

Ejemplo

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"}'