Authentification
Clé d'API en Bearer, portée, et cycle de vie du secret.
Le header
Authorization: Bearer sk_live_…C'est le seul mécanisme. Il n'existe aucun header X-API-Key — si votre
intégration en envoie un, il est ignoré et la requête est rejetée en 401 UNAUTHORIZED.
Créer et révoquer une clé
Les clés se créent dans le tableau de bord az54. La gestion des clés n'est pas exposée à l'API : on ne crée ni ne révoque une clé par un appel HTTP.
Le secret n'est affiché qu'une seule fois, à la création. Il n'est stocké nulle part en clair côté az54 et ne peut pas être réaffiché. Stockez-le à ce moment-là.
Il n'y a ni rotation automatique, ni expiration. Une clé reste valide jusqu'à sa révocation explicite.
En cas de fuite : créez la nouvelle clé d'abord, déployez-la, révoquez l'ancienne ensuite. Dans cet ordre — une révocation ne peut pas être annulée, et il n'existe pas de fenêtre de recouvrement.
Portée d'une clé
Une clé d'API authentifie une organisation entière, pas un utilisateur. Il en découle trois propriétés qui surprennent souvent :
- Elle contourne le RBAC du tableau de bord. Il n'y a pas de permission restreinte par clé : une clé valide peut tout ce que l'API publique permet.
- Elle contourne l'authentification à deux facteurs, y compris sur les chemins qui l'exigent d'un utilisateur du tableau de bord.
- Toute transaction créée avec elle appartient à l'organisation, pas à un utilisateur nommé.
C'est un secret serveur. Il n'a rien à faire dans un client web ou une application mobile.
sk_test_ n'est pas un mode test
Le préfixe est purement cosmétique : le mode d'une clé n'est lu à aucun moment du chemin de paiement. Voir Démarrage.
Le SDK JavaScript n'envoie aucune clé
@az54/core et @az54/react ne consomment que des endpoints publics
(/v1/corridors/available, /v1/countries) : ils fonctionnent sans
authentification et n'envoient jamais de clé.
Les champs publicKey (pk_live_…) et locale que leur documentation présente
sont des vestiges sans effet : ils sont stockés dans la configuration du
client et jamais utilisés. Il n'existe aucun préfixe pk_ côté serveur. Ne
construisez rien dessus.
@az54/core en version 0.3.0 ou antérieure lit par ailleurs un champ code sur
les réponses d'erreur, qui n'est jamais présent : le vrai code machine-lisible
est status (voir Erreurs).
