Qu'est-ce qu'une API Key ? Définition, Usage, Best Practices

Une API key est un string unique qui identifie l'application appelant. Utilisé pour auth, rate limiting, billing — mais plus faible qu'OAuth.

Qu'est-ce qu'une API key ?

Une API key est un string unique de caractères qui identifie et authentifie l'application ou l'utilisateur faisant une requête à une API. C'est la forme la plus simple d'authentification API : inclure la key dans le header de requête (ou parfois query string), et le serveur la vérifie contre une base de données.

Les API keys sont communément utilisées pour : identifier quelle app/team appelle, appliquer rate limits, tracker l'usage pour billing et autorisation basique.

À quoi ressemble une API key

API_KEY="sk_live_4eC39HqLyjWDarjtT1zdp7dc"

Comment les API keys sont envoyées

MéthodeExempleNotes
Header AuthorizationAuthorization: Bearer YOUR_API_KEYPlus commune, recommandée
Header customX-API-Key: YOUR_API_KEYPattern commun
Query string?api_key=YOUR_API_KEYMoins sécurisé
Body requêteChamp JSONRare pour REST

API key vs autres méthodes auth

MéthodeStrengthQuand utiliser
API keyBasServer-to-server, simple
OAuth 2.0HautApps user-facing
JWTMoyen-hautMicroservices
mTLSHautService-to-service
Basic AuthBasLegacy
HMAC signingHautWebhooks

Exemple génération API key

import crypto from 'crypto';

function generateApiKey(prefix = 'sk_live_') {
  return prefix + crypto.randomBytes(24).toString('hex');
}

const hash = crypto.createHash('sha256').update(key).digest('hex');
await db.apiKeys.insert({ user_id: userId, key_hash: hash });

Best practices sécurité API key

  • Traiter keys comme secrets.
  • Utiliser environment variables.
  • Rotation régulière.
  • Scoper avec permissions.
  • IP allowlist.
  • Keys différents par environnement.
  • Hasher, pas raw.
  • Montrer key une fois à la création.
  • Rate limit per key.
  • Logger usage key.
  • Révoquer on demand.

Pièges API key courants

  • Keys dans code client-side.
  • Keys dans historique git.
  • Keys dans URLs.
  • Single key pour tout.
  • Pas de rotation.
  • Pas de rate limiting.
  • Stocker keys raw en DB.
  • Partager keys via Slack/email.

Cas d'usage API key

Cas d'usagePourquoi API key fonctionne
Auth server-to-serverPas d'interaction utilisateur
APIs read publiquesIdentifier caller
Webhooks (sending)Authentifier sender
Intégrations third-partyPlus simple qu'OAuth flow
Auth microservice interneSi mTLS overkill

FAQ : API keys

Les API keys sont-elles sécurisées ?

Moins qu'OAuth 2.0 ou mTLS.

API key vs OAuth : laquelle utiliser ?

API key pour server-to-server. OAuth pour apps user-facing.

Comment je rote une API key ?

Générer nouvelle key, les deux valides pendant transition, révoquer ancienne.

Les API keys devraient-elles expirer ?

Oui — 90 jours typique.

Où je stocke les API keys ?

Secrets manager.

Comment je détecte une API key leaked ?

GitHub secret scanning, gitleaks.

Puis-je utiliser API keys dans apps mobile ?

Risqué.

Testez les endpoints API-key-protégés avec LoadFocus

LoadFocus exécute des scripts JMeter et k6 qui envoient des API keys à scale. Inscrivez-vous sur loadfocus.com/signup.

Quelle est la vitesse de votre site web?

Augmentez sa vitesse et son référencement naturel de manière transparente avec notre Test de Vitesse gratuit.

Test gratuit de vitesse du site Web

Analyser la vitesse de chargement de votre site Web et améliorer ses performances avec notre outil gratuit de vérification de la vitesse de la page.

×