Lister les organisations au choix

GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations · appelé depuis l'hôte de connexion de l'environnement

Appelé par le sélecteur d'organisation hébergé à /u/organization. Lorsque organization_usage d'une application vaut require et que la demande d'autorisation ne nomme aucune organization, le point de terminaison d'autorisation recherche les organisations de l'utilisateur une fois celui-ci connecté. S'il n'en a aucune, la demande se termine par access_denied avec error_description=no_organization_membership. S'il n'en a qu'une, cette organisation est liée sans afficher d'écran. S'il en a deux ou plus, le navigateur passe au sélecteur, qui lit cette liste.

La liste contient les organisations où l'utilisateur a une adhésion active, où l'organisation est active et où l'application est activée. Elle est triée par slug et contient au plus 100 entrées ; truncated: true signifie qu'il en existe davantage. L'organisation choisie en dernier dans cette session vient en premier et porte last_used: true. name est une donnée client dont les caractères de contrôle et de direction ont été retirés. Lorsqu'une organisation n'a pas de nom, name est son slug. Lire la liste ne lie rien.

La demande d'autorisation doit être en attente, ouverte sur cet hôte de connexion et accompagnée du cookie de liaison défini par le point de terminaison d'autorisation dans ce navigateur. Les cas suivants reçoivent tous la même réponse 404 not_found :

Nécessite le cookie __Host-idp_session de l'utilisateur authentifié ; si le cookie est absent, expiré ou révoqué, renvoie 401 unauthenticated.

Requête

Paramètre de chemin :

Paramètre Description
authorization_request_id La valeur authorization_request de l'URL du sélecteur (azr_…).

En-têtes :

En-tête Requis Description
Idp-Client oui Identifiant du SDK.

Pas de corps.

Réponse

200 OK :

Champ Type Description
data[].id string Identifiant de l'organisation (org_…).
data[].slug string Slug de l'organisation.
data[].name string Nom d'affichage, en texte brut.
data[].last_used boolean Indique s'il s'agit de l'organisation choisie en dernier dans cette session.
truncated boolean Indique si l'utilisateur possède davantage d'organisations éligibles que celles listées.
{
  "data": [
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w", "slug": "acme", "name": "Acme", "last_used": false},
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9x", "slug": "globex", "name": "Globex", "last_used": false}
  ],
  "truncated": false
}

Erreurs

Statut Code Quand
401 unauthenticated Aucun cookie de session valide.
404 not_found La demande est mal formée, inconnue, expirée, terminée, ouverte sur un autre hôte ou dans un autre navigateur.
409 conflict La demande a déjà une organisation.
503 temporarily_unavailable La liste des organisations n'a pas pu être lue.

Exemple

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