Auswählbare Organisationen auflisten

GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations · wird vom Anmeldehost der Umgebung aufgerufen

Wird vom gehosteten Organisationsauswahlfenster unter /u/organization aufgerufen. Hat eine Anwendung organization_usage mit dem Wert require und nennt die Autorisierungsanfrage keine organization, sucht der Autorisierungsendpunkt die Organisationen des Benutzers, sobald sich der Benutzer angemeldet hat. Gibt es keine, endet die Anfrage mit access_denied und error_description=no_organization_membership. Gibt es genau eine, wird diese Organisation ohne Bildschirm gebunden. Gibt es zwei oder mehr, wechselt der Browser zur Auswahl, die diese Liste liest.

Die Liste enthält die Organisationen, in denen der Benutzer eine aktive Mitgliedschaft hat, die Organisation aktiv ist und die Anwendung aktiviert ist. Sie ist nach Slug sortiert und enthält höchstens 100 Einträge; truncated: true bedeutet, dass weitere vorhanden sind. Die in dieser Sitzung zuletzt gewählte Organisation steht vorne und hat last_used: true. name sind Kundendaten, aus denen Steuer- und Richtungszeichen entfernt wurden. Hat eine Organisation keinen Namen, ist name ihr Slug. Das Lesen der Liste bindet nichts.

Die Autorisierungsanfrage muss ausstehend sein, auf diesem Anmeldehost geöffnet worden sein und das Bindungs-Cookie tragen, das der Autorisierungsendpunkt in diesem Browser gesetzt hat. Die folgenden Fälle erhalten alle dieselbe Antwort 404 not_found:

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.

Kein Body.

Antwort

200 OK:

Feld Typ Beschreibung
data[].id string Organisationskennung (org_…).
data[].slug string Slug der Organisation.
data[].name string Anzeigename, Klartext.
data[].last_used boolean Ob dies die in dieser Sitzung zuletzt gewählte Organisation ist.
truncated boolean Ob der Benutzer mehr berechtigte Organisationen hat, als aufgelistet werden.
{
  "data": [
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w", "slug": "acme", "name": "Acme", "last_used": false},
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9x", "slug": "globex", "name": "Globex", "last_used": false}
  ],
  "truncated": false
}

Fehler

Status Code Wann
401 unauthenticated Kein gültiges Sitzungs-Cookie.
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.
503 temporarily_unavailable Die Organisationsliste konnte nicht gelesen werden.

Beispiel

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