Aller au contenu principal

Authentification

Ikawaari utilise plusieurs types de credentials selon le contexte. Les clés API ik_XXX sont réservées aux intégrations serveur-à-serveur. Les apps interactives Ikawaari comme le dashboard, l’ops console et la marketplace utilisent des access tokens OpenIddict.

Bearer Token

Pour une intégration serveur, incluez votre clé API secrète dans le header Authorization :

curl https://api.ikawaari.com/api/v1/payment-intents \
-H "Authorization: Bearer ik_test_sk_your_key_here" \
-H "X-Environment: sandbox"

Environnements

Préfixe de credentialUsageEnvironnement
ik_test_sk_Clé secrète serveurSandbox
ik_live_sk_Clé secrète serveurLive
ik_test_pk_Clé publishable côté clientSandbox
ik_live_pk_Clé publishable côté clientLive

L’environnement doit aussi être transmis avec X-Environment: sandbox ou X-Environment: live. Une clé live ne doit jamais être utilisée pour simuler un appel sandbox.

Modèle De Credentials

CredentialÉmetteurUsage
OpenIddict access tokenIkawaari IdentitySessions interactives first-party : dashboard, ops, marketplace
ik_test_sk_ / ik_live_sk_Dashboard/API keysAppels serveur-à-serveur
ik_test_pk_ / ik_live_pk_Dashboard/API keysInitialisation côté client uniquement, jamais pour APIs serveur
Restricted keysDashboard/API keysIntégrations serveur avec scopes limités
App tokensMarketplace appsAppels effectués par une app installée
Flow session tokensUIFlow runtimeSessions courtes de vérification hébergée
MerchantJwtLegacyCompatibilité dashboard marchand existante

OpenIddict ne valide pas les clés ik_XXX, et les handlers de clés API ne valident pas les tokens OpenIddict. Chaque credential est validé par son handler, puis Ikawaari résout un contexte marchand canonique.

Marketplace Apps

Le catalogue public de la marketplace est accessible sans authentification :

curl https://api.ikawaari.com/api/v1/public/marketplace/apps \
-H "X-Environment: sandbox"

Les actions marchandes, comme installer une app, nécessitent une session utilisateur OpenIddict et un contexte marchand :

curl https://api.ikawaari.com/api/v1/merchant/marketplace/apps/{appId}/install-consent \
-H "Authorization: Bearer OPENIDDICT_ACCESS_TOKEN" \
-H "X-Environment: sandbox" \
-H "X-Merchant-Account-Id: ma_xxxxx"

L’installation et le consentement marketplace sont réservés aux utilisateurs ayant un rôle marchand suffisant, comme owner ou admin.

Appels Serveur Avec Clé API

Les clés secrètes ik_XXX doivent être utilisées uniquement depuis votre backend :

curl https://api.ikawaari.com/api/v1/payment-intents \
-H "Authorization: Bearer ik_live_sk_your_key_here" \
-H "X-Environment: live" \
-H "Content-Type: application/json"

Ne placez jamais une clé ik_live_sk_ ou ik_test_sk_ dans une application navigateur, mobile ou dans un dépôt Git.

Bonnes pratiques de sécurité

  • N’exposez jamais les clés API dans du code côté client, des dépôts Git ou des logs
  • Utilisez des variables d’environnement pour stocker les clés API
  • Restreignez les scopes des clés au minimum de permissions requis
  • Faites tourner régulièrement les clés et révoquez celles inutilisées
  • Utilisez le whitelisting IP pour les clés de production lorsque c’est possible
  • Ne transmettez jamais d’access token dans l’URL ; utilisez le header Authorization
  • Envoyez toujours X-Environment pour éviter toute ambiguïté sandbox/live