Sécurité API

Authentification des Services Externes

Comment sécuriser les interactions entre votre service et l'API Finance_App

Pour garantir l'intégration sécurisée des services externes avec Finance_App, nous utilisons une authentification basée sur les clés API. Cette page explique comment implémenter correctement cette authentification dans votre service.

Méthode d'authentification des services externes

  1. Obtention des clés d'API

    Chaque service externe intégrant Finance_App reçoit un couple unique client_id et client_secret

  2. Transmission des identifiants

    Les clés doivent être transmises dans les en-têtes HTTP de chaque requête API

    api-client.js
    1// En-têtes d'authentification requis 2{ 3"x-client-id": "votre-client-id", 4"x-client-secret": "votre-client-secret" 5}
  3. Vérification des identifiants

    Le serveur Finance_App authentifie chaque requête en vérifiant les clés fournies contre la base de données des services externes autorisés

Implémentation côté client

Exemple avec fetch API

Exemple de requête vers l'API externe Finance_App en utilisant l'API fetch JavaScript.

Exemple avec fetch API
1// Appel à l'API externe de Finance_App 2async function callFinanceAppAPI() { 3 const response = await fetch( 4 'https://finance-app.domain.com/api/external/get-project', 5 { 6 method: 'GET', 7 headers: { 8 'x-client-id': 'your-client-id', 9 'x-client-secret': 'your-client-secret', 10 'Content-Type': 'application/json' 11 }, 12 params: { 13 externalId: 'votre-id-externe' 14 } 15 } 16 ); 17 18 return await response.json(); 19}

Intégration sécurisée

Bonnes pratiques pour stocker et utiliser les clés d'API dans vos applications.

Intégration sécurisée
1 // Exemple d'utilisation sécurisée des clés API 2// .env (ne pas inclure dans le contrôle de version) 3FINANCE_APP_CLIENT_ID=your-client-id 4FINANCE_APP_CLIENT_SECRET=your-client-secret 5 6// api-client.js (côté serveur uniquement) 7const clientId = process.env.FINANCE_APP_CLIENT_ID; 8const clientSecret = process.env.FINANCE_APP_CLIENT_SECRET; 9 10if (!clientId || !clientSecret) { 11 throw new Error('Clés d'API Finance_App manquantes'); 12}

Bonnes pratiques de sécurité

Pour garantir la sécurité de votre intégration avec Finance_App, suivez ces recommandations :

  • Ne jamais stocker vos clés API (client_id et client_secret) dans le code source ou côté client
  • Utiliser des variables d'environnement pour stocker les clés API
  • Effectuer les appels API depuis votre serveur et non directement depuis le navigateur
  • Utiliser uniquement le protocole HTTPS pour toutes les communications
  • Mettre en place une rotation régulière des clés API