Scegli un'organizzazione

POST /fapi/v1/authorization-requests/{authorization_request_id}:select-organization · chiamato dall'host di accesso dell'ambiente

Associa alla richiesta di autorizzazione l'organizzazione che l'utente ha scelto nel selettore ospitato. Il server verifica di nuovo la scelta. Viene accettata solo se organization_id è presente nell'elenco di Elenca le organizzazioni tra cui scegliere per questo utente e questa applicazione al momento della chiamata. Qualsiasi altro valore riceve 422 validation_failed e non viene associato nulla, inclusi i casi seguenti:

In caso di successo, l'organizzazione viene scritta nella richiesta una sola volta e non può più cambiare. La risposta contiene continue_url, l'URL di ripresa dell'endpoint di autorizzazione. Il browser vi si reindirizza e l'autorizzazione prosegue con l'organizzazione associata.

Le condizioni della richiesta e la risposta 404 sono le stesse dell'elenco. 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.
Origin sì Deve essere esattamente https://<host di accesso>.
Content-Type sì application/json.

Corpo:

Campo Tipo Obbligatorio Descrizione
organization_id string sì L'id di un'organizzazione elencata (org_…).

Risposta

200 OK:

Campo Tipo Descrizione
continue_url string Dove prosegue il browser: l'URL di ripresa dell'endpoint di autorizzazione.
{"continue_url": "/oauth2/authorize/resume?authorization_request=azr_01jbz6x8kq3m2n4p5r6s7t8v9w"}

Errori

Stato Codice Quando
400 malformed_request Il corpo non è un JSON valido.
400 unknown_field Il corpo contiene un campo diverso da organization_id.
401 unauthenticated Nessun cookie di sessione valido.
403 origin_not_allowed Origin manca o è errato.
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.
413 payload_too_large Il corpo è troppo grande.
415 unsupported_media_type Content-Type non è application/json.
422 validation_failed organization_id manca o non è una delle organizzazioni elencate.
503 temporarily_unavailable Non è stato possibile leggere l'elenco delle organizzazioni.

Esempio

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