Listar las organizaciones entre las que elegir

GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations · llamado desde el host de inicio de sesión del entorno

Lo llama el selector de organización alojado en /u/organization. Cuando organization_usage de una aplicación es require y la solicitud de autorización no indica ninguna organization, el endpoint de autorización busca las organizaciones del usuario una vez que este ha iniciado sesión. Si no hay ninguna, la solicitud termina con access_denied y error_description=no_organization_membership. Si hay exactamente una, esa organización se vincula sin mostrar ninguna pantalla. Si hay dos o más, el navegador pasa al selector, que lee esta lista.

La lista contiene las organizaciones en las que el usuario tiene una membresía activa, la organización está activa y la aplicación está habilitada. Está ordenada por slug y contiene como máximo 100 entradas; truncated: true indica que existen más. La organización elegida por última vez en esta sesión aparece primero y tiene last_used: true. name son datos del cliente con los caracteres de control y de dirección eliminados. Cuando una organización no tiene nombre, name es su slug. Leer la lista no vincula nada.

La solicitud de autorización debe estar pendiente, abierta en este host de inicio de sesión y tener la cookie de vinculación que el endpoint de autorización estableció en este navegador. Los casos siguientes reciben todos la misma respuesta 404 not_found:

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.

Sin cuerpo.

Respuesta

200 OK:

Campo Tipo Descripción
data[].id string Identificador de la organización (org_…).
data[].slug string Slug de la organización.
data[].name string Nombre para mostrar, texto plano.
data[].last_used boolean Indica si es la organización elegida por última vez en esta sesión.
truncated boolean Indica si el usuario tiene más organizaciones elegibles de las que se muestran.
{
  "data": [
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w", "slug": "acme", "name": "Acme", "last_used": false},
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9x", "slug": "globex", "name": "Globex", "last_used": false}
  ],
  "truncated": false
}

Errores

Estado Código Cuándo
401 unauthenticated No hay una cookie de sesión válida.
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.
503 temporarily_unavailable No se pudo leer la lista de organizaciones.

Ejemplo

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