Récupérer la configuration de l'environnement
GET /fapi/v1/environment · appelé depuis l'hôte de connexion de l'environnement
Renvoie la configuration publique dont une page de connexion a besoin avant d'ouvrir une transaction : les premiers facteurs
qu'une nouvelle transaction de l'application proposera, le mode d'inscription, les langues activées et, lorsque les passkeys
sont proposées, le rp_id de la passkey. La réponse ne contient aucune donnée personnelle, ne lit aucun cookie et n'ouvre
aucune transaction.
Requête
En-têtes:
| En-tête | Requis | Description |
|---|---|---|
Idp-Client |
oui | Identifiant SDK, <paquet>/<version> (<runtime>/<version>). |
Paramètres de requête:
| Paramètre | Requis | Description |
|---|---|---|
client_id |
oui | Le client_id de l'application. |
Réponse
200 OK:
| Champ | Description |
|---|---|
schema_version |
1. |
first_factors |
Les méthodes proposées par une nouvelle transaction, dans cet ordre : password, passkey, email_otp, magic_link. Vide lorsque la politique n'autorise aucune méthode. |
sign_up |
Mode d'inscription : open, invite_only ou closed. |
locales |
enabled (langues activées) et default (langue par défaut). |
passkey |
Uniquement lorsque la connexion par passkey est proposée : rp_id. |
La réponse porte Cache-Control: max-age=60 ; un changement de politique apparaît en moins d'une minute.
Erreurs
| Statut | Code | Quand |
|---|---|---|
| 400 | malformed_request |
Idp-Client est absent. |
| 403 | environment_suspended |
L'environnement est suspendu. |
| 403 | headless_not_allowed |
L'application n'est pas une application first party. |
| 404 | not_found |
L'hôte n'appartient à aucun environnement. |
| 422 | validation_failed |
client_id est absent, trop long ou inconnu (/client_id). |
Exemple
curl "https://example.keenauth.app/fapi/v1/environment?client_id=app_01j9zq3k5m7n8p9r0s1t2v3w4x" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)"
{
"schema_version": 1,
"first_factors": ["password", "passkey", "email_otp"],
"sign_up": "open",
"locales": {"enabled": ["tr", "en"], "default": "tr"},
"passkey": {"rp_id": "example.keenauth.app"}
}