Authentification API
L'API BIRDY supporte deux mécanismes d'authentification : la clé API (pour les intégrations serveur à serveur) et OAuth 2.0 (pour les applications tierces qui agissent au nom d'un utilisateur final).
Clé API
Méthode simple et adaptée aux scénarios où votre script ou serveur appelle l'API BIRDY pour son propre compte.
Génération
Dans BIRDY, accédez à Paramètres → API → Clés. Cliquez sur Nouvelle clé. Précisez :
- Un nom descriptif (par exemple « Site e-commerce production »)
- Les scopes autorisés (lecture, écriture, lecture comptabilité, etc.)
- Optionnellement, une liste blanche d'IP autorisées
- Une durée de validité (jusqu'à 1 an)
La clé est affichée une seule fois. Notez-la immédiatement et stockez-la en lieu sûr (gestionnaire de secrets, variables d'environnement chiffrées).
Une clé API divulguée donne un accès direct à vos données. Ne l'intégrez jamais dans le code source public, ne la partagez jamais par e-mail ou messagerie. Utilisez des secrets managers (1Password, Vault, AWS Secrets Manager, GitHub Actions secrets).
Utilisation
Ajoutez l'en-tête Authorization à chaque requête :
curl -X GET "https://api.birdy.novar.gn/v1/articles" \
-H "Authorization: Bearer sk_live_abc123def456ghi789..."Rotation des clés
Pour limiter l'impact d'une éventuelle fuite, faites tourner vos clés régulièrement :
- Générez une nouvelle clé avec les mêmes scopes
- Mettez à jour vos applications pour utiliser la nouvelle clé
- Vérifiez que tout fonctionne en production
- Révoquez l'ancienne clé
La rotation tous les 90 jours est une bonne pratique.
OAuth 2.0
Méthode adaptée aux applications tierces qui doivent agir au nom d'un utilisateur final BIRDY (par exemple une application mobile partenaire qui consulte les factures du client).
Flow d'autorisation
BIRDY supporte le flow Authorization Code avec PKCE :
Inscription de l'application
Le développeur tiers crée son application dans le portail développeur BIRDY. Il obtient un client_id et un client_secret.
Redirection de l'utilisateur
L'utilisateur est dirigé vers l'URL d'autorisation BIRDY avec les scopes demandés.
Consentement utilisateur
BIRDY affiche les permissions demandées. L'utilisateur autorise ou refuse.
Échange du code
BIRDY redirige vers l'application avec un code temporaire. L'application l'échange contre un access_token et un refresh_token.
Appels API
L'application utilise l'access_token dans les requêtes API.
Durées de vie
- Access token : 1 heure
- Refresh token : 30 jours, rotation automatique à chaque utilisation
- Code d'autorisation : 10 minutes, à usage unique
Scopes
Liste des scopes disponibles :
articles:read/articles:writeclients:read/clients:writefactures:read/factures:writecompta:read/compta:write(sensible)paie:read(très sensible, accès limité)audit:read(très sensible, accès limité)
Le principe du moindre privilège s'applique : ne demandez que les scopes nécessaires à votre application.
Sécurité réseau
- TLS 1.3 obligatoire
- Certificate pinning recommandé pour les apps mobiles
- Réjection automatique des requêtes HTTP non chiffrées
- HSTS activé sur le domaine API
Audit des appels API
Toutes les requêtes API sont enregistrées dans le journal d'audit avec :
- Clé ou client_id ayant initié la requête
- Endpoint appelé
- Code de réponse
- Adresse IP source
- Latence
Ce journal permet de détecter les comportements anormaux (volume excessif, scopes non utilisés, latence élevée).
Révocation immédiate
En cas de soupçon de compromission :
- Clé API : révoquez-la depuis Paramètres → API → Clés. Effet immédiat.
- OAuth : révoquez le refresh_token de l'application. Les access_tokens en cours expireront sous 1 h.
- Compte utilisateur : la suspension du compte invalide tous ses tokens OAuth en cours.