Choisir une organisation

POST /fapi/v1/authorization-requests/{authorization_request_id}:select-organization · appelé depuis l'hôte de connexion de l'environnement

Lie à la demande d'autorisation l'organisation que l'utilisateur a choisie sur le sélecteur hébergé. Le serveur vérifie de nouveau le choix. Il n'est accepté que si organization_id figure dans la liste de Lister les organisations au choix pour cet utilisateur et cette application au moment de l'appel. Toute autre valeur reçoit 422 validation_failed et rien n'est lié, y compris dans les cas suivants :

En cas de succès, l'organisation est écrite une seule fois dans la demande et ne peut plus changer. La réponse contient continue_url, l'URL de reprise du point de terminaison d'autorisation. Le navigateur s'y rend et l'autorisation se poursuit avec l'organisation liée.

Les conditions de la demande et la réponse 404 sont les mêmes que pour la liste. 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.
Origin oui Doit être exactement https://<hôte de connexion>.
Content-Type oui application/json.

Corps :

Champ Type Requis Description
organization_id string oui L'id d'une organisation listée (org_…).

Réponse

200 OK :

Champ Type Description
continue_url string Où le navigateur poursuit : l'URL de reprise du point de terminaison d'autorisation.
{"continue_url": "/oauth2/authorize/resume?authorization_request=azr_01jbz6x8kq3m2n4p5r6s7t8v9w"}

Erreurs

Statut Code Quand
400 malformed_request Le corps n'est pas un JSON valide.
400 unknown_field Le corps contient un champ autre que organization_id.
401 unauthenticated Aucun cookie de session valide.
403 origin_not_allowed Origin est absent ou incorrect.
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.
413 payload_too_large Le corps est trop volumineux.
415 unsupported_media_type Content-Type n'est pas application/json.
422 validation_failed organization_id est absent ou ne fait pas partie des organisations listées.
503 temporarily_unavailable La liste des organisations n'a pas pu être lue.

Exemple

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