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:
- una solicitud mal formada o desconocida
- una solicitud caducada o finalizada
- una solicitud abierta en otro host
- una solicitud abierta en otro navegador
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