Organisation auswählen

POST /fapi/v1/authorization-requests/{authorization_request_id}:select-organization · wird vom Anmeldehost der Umgebung aufgerufen

Bindet die Organisation, die der Benutzer im gehosteten Auswahlfenster gewählt hat, an die Autorisierungsanfrage. Der Server prüft die Wahl erneut. Sie wird nur angenommen, wenn organization_id zum Zeitpunkt des Aufrufs in der Liste aus Auswählbare Organisationen auflisten für diesen Benutzer und diese Anwendung enthalten ist. Jeder andere Wert erhält 422 validation_failed, und es wird nichts gebunden, auch in den folgenden Fällen:

Bei Erfolg wird die Organisation einmalig in die Anfrage geschrieben und kann nicht mehr geändert werden. Die Antwort enthält continue_url, die Fortsetzungs-URL des Autorisierungsendpunkts. Der Browser geht dorthin, und die Autorisierung wird mit gebundener Organisation fortgesetzt.

Die Bedingungen der Anfrage und die 404-Antwort sind dieselben wie bei der Liste. Erfordert das Cookie __Host-idp_session des authentifizierten Benutzers; fehlt das Cookie, ist es abgelaufen oder widerrufen, wird 401 unauthenticated zurückgegeben.

Anfrage

Pfadparameter:

Parameter Beschreibung
authorization_request_id Der Wert authorization_request der URL des Auswahlfensters (azr_…).

Header:

Header Erforderlich Beschreibung
Idp-Client ja SDK-Kennung.
Origin ja Muss genau https://<Anmeldehost> sein.
Content-Type ja application/json.

Body:

Feld Typ Erforderlich Beschreibung
organization_id string ja Die id einer aufgelisteten Organisation (org_…).

Antwort

200 OK:

Feld Typ Beschreibung
continue_url string Wohin der Browser weitergeht: die Fortsetzungs-URL des Autorisierungsendpunkts.
{"continue_url": "/oauth2/authorize/resume?authorization_request=azr_01jbz6x8kq3m2n4p5r6s7t8v9w"}

Fehler

Status Code Wann
400 malformed_request Der Body ist kein gültiges JSON.
400 unknown_field Der Body enthält ein anderes Feld als organization_id.
401 unauthenticated Kein gültiges Sitzungs-Cookie.
403 origin_not_allowed Origin fehlt oder ist falsch.
404 not_found Die Anfrage ist fehlerhaft, unbekannt, abgelaufen, abgeschlossen, gehört zu einem anderen Host oder zu einem anderen Browser.
409 conflict Die Anfrage hat bereits eine Organisation.
413 payload_too_large Der Body ist zu groß.
415 unsupported_media_type Content-Type ist nicht application/json.
422 validation_failed organization_id fehlt oder ist nicht eine der aufgelisteten Organisationen.
503 temporarily_unavailable Die Organisationsliste konnte nicht gelesen werden.

Beispiel

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