Elenca le organizzazioni tra cui scegliere
GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations · chiamato dall'host di accesso dell'ambiente
Chiamato dal selettore di organizzazione ospitato in /u/organization. Quando organization_usage di un'applicazione è require e la richiesta di autorizzazione non indica alcuna organization, l'endpoint di autorizzazione cerca le organizzazioni dell'utente una volta che l'utente ha effettuato l'accesso. Se non ce ne sono, la richiesta termina con access_denied e error_description=no_organization_membership. Se ce n'è una sola, quell'organizzazione viene associata senza mostrare schermate. Se ce ne sono due o più, il browser passa al selettore, che legge questo elenco.
L'elenco contiene le organizzazioni in cui l'utente ha un'appartenenza attiva, l'organizzazione è attiva e l'applicazione è abilitata. È in ordine di slug e contiene al massimo 100 voci; truncated: true indica che ne esistono altre. L'organizzazione scelta per ultima in questa sessione compare per prima e ha last_used: true. name è un dato del cliente con i caratteri di controllo e di direzione rimossi. Quando un'organizzazione non ha un nome, name è il suo slug. Leggere l'elenco non associa nulla.
La richiesta di autorizzazione deve essere in attesa, aperta su questo host di accesso e avere il cookie di associazione impostato dall'endpoint di autorizzazione in questo browser. I casi seguenti ricevono tutti la stessa risposta 404 not_found:
- una richiesta malformata o sconosciuta
- una richiesta scaduta o conclusa
- una richiesta aperta su un altro host
- una richiesta aperta in un altro browser
Richiede il cookie __Host-idp_session dell'utente autenticato; se il cookie manca, è scaduto o è stato revocato, restituisce 401 unauthenticated.
Richiesta
Parametro di percorso:
| Parametro | Descrizione |
|---|---|
authorization_request_id |
Il valore authorization_request dell'URL del selettore (azr_…). |
Intestazioni:
| Intestazione | Obbligatoria | Descrizione |
|---|---|---|
Idp-Client |
sì | Identificativo dell'SDK. |
Nessun corpo.
Risposta
200 OK:
| Campo | Tipo | Descrizione |
|---|---|---|
data[].id |
string | Identificativo dell'organizzazione (org_…). |
data[].slug |
string | Slug dell'organizzazione. |
data[].name |
string | Nome visualizzato, testo semplice. |
data[].last_used |
boolean | Indica se è l'organizzazione scelta per ultima in questa sessione. |
truncated |
boolean | Indica se l'utente ha altre organizzazioni idonee oltre a quelle elencate. |
{
"data": [
{"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w", "slug": "acme", "name": "Acme", "last_used": false},
{"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9x", "slug": "globex", "name": "Globex", "last_used": false}
],
"truncated": false
}
Errori
| Stato | Codice | Quando |
|---|---|---|
| 401 | unauthenticated |
Nessun cookie di sessione valido. |
| 404 | not_found |
La richiesta è malformata, sconosciuta, scaduta, conclusa, di un altro host o di un altro browser. |
| 409 | conflict |
La richiesta ha già un'organizzazione. |
| 503 | temporarily_unavailable |
Non è stato possibile leggere l'elenco delle organizzazioni. |
Esempio
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