Logo GenukaGenuka Pay
Prise en main

Authentification

Authentifiez les requêtes API de manière sécurisée avec la clé secrète de votre application.

Introduction

Les appels Genuka Pay authentifiés utilisent votre public_key d'application plus une signature HMAC-SHA256 générée avec votre secret_key.

Headers requis

Headers de requête authentifiée
X-Public-Key: YOUR_PUBLIC_KEY
X-Timestamp: UNIX_TIMESTAMP
X-Signature: HMAC_SHA256_SIGNATURE

Gérer les credentials

Gérez les credentials depuis API Keys, pas depuis un endpoint API public.

Ouvrez cette page pour révéler la secret_key courante, examiner l'historique de rotation, ou générer une nouvelle clé si nécessaire.

Ce que la page API Keys expose généralement

La page API Keys expose généralement :

  • id - identifiant unique de l'application
  • name - nom de l'application
  • environment - environnement (test ou production)
  • status - statut actuel de l'application
  • public_key - clé publique pour identifier les requêtes
  • secret_key - clé secrète pour signer les requêtes
  • billable - si l'application est facturée
  • rotations - historique des rotations de clés

Exemple de requête authentifiée

Appel API authentifié
curl -X GET "{{BASE_URL}}/api/v1/application" \
  -H "X-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Timestamp: UNIX_TIMESTAMP" \
  -H "X-Signature: HMAC_SHA256_SIGNATURE"

Rotation des secrets

Si vous avez besoin de renouveler une clé compromise ou vieillissante, allez à API Keys.

Le flux recommandé est :

  1. Révélez ou générez la nouvelle secret_key
  2. Mettez à jour les variables d'environnement ou votre gestionnaire de secrets
  3. Redémarrez les services affectés
  4. Vérifiez les flux de paiements, payouts et webhooks
  5. Révoquez ou arrêtez d'utiliser l'ancienne clé

Règle opérationnelle

Traitez la rotation des secrets comme un événement de déploiement. Mettez à jour le backend récepteur, redémarrez les services affectés, et vérifiez les flux de webhooks ou paiements immédiatement après rotation.

Meilleures pratiques d'authentification

  • Stockez la secret_key en tant que variable d'environnement côté serveur
  • Renouvelez les clés régulièrement (tous les 3-6 mois)
  • Auditez l'accès aux services backend qui peuvent lire la clé
  • Ne l'exposez jamais dans un navigateur ou une application mobile
  • Ne la committez jamais dans le contrôle de version
  • Ne la loggez jamais en valeur brute
  • Ne la partagez jamais par email ou chat

Test vs Production

Votre application porte aussi un environment. Gardez une discipline stricte :

  • Utilisez des credentials distincts par environnement
  • Ne mélangez jamais les callbacks et la logique métier test/live
  • Renouvelez les secrets avant une mise en production si nécessaire

Dépannage d'authentification

How is this guide?