Qu'est-ce qu'un Bearer Token ? OAuth 2.0, JWT, Sécurité
Bearer token : string opaque qui authentifie les requêtes API — celui qui le possède a un accès complet. Envoyé comme header Authorization: Bearer.
Qu'est-ce qu'un bearer token ?
Un bearer token est un credential de sécurité utilisé pour authentifier les requêtes API, défini dans la spécification OAuth 2.0 (RFC 6750). La caractéristique définissante est dans le nom : quiconque porte (bears) le token obtient l'accès — le token lui-même est la preuve d'autorisation. Pas de signature, pas de clé séparée, pas de challenge-response. Possession égale accès.
Les bearer tokens sont le schéma d'authentification dominant pour les APIs REST modernes et les flows OAuth 2.0. Ils remplacent les approches plus anciennes comme Basic Auth.
Comment les bearer tokens fonctionnent en HTTP
Un bearer token est envoyé dans le header HTTP Authorization avec le schéma Bearer :
GET /api/users/me HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...Le serveur valide le token et honore la requête ou retourne 401 Unauthorized. Le flow complet :
- Le client s'authentifie. Via OAuth 2.0, exchange API key, ou formulaire login.
- Le serveur émet un bearer token. Retourné dans la réponse, typiquement en JSON.
- Le client stocke le token. En mémoire, secure storage, ou cookie httpOnly.
- Le client envoie le token avec chaque requête.
- Le serveur valide chaque requête.
- Le token expire. Le client utilise un refresh token ou se ré-authentifie.
Formats de bearer token
Tokens opaques
Un string aléatoire sans information embarquée. Le serveur stocke les mappings token-vers-user dans une base de données.
Authorization: Bearer 7b3f2e8a-1c4d-4b6a-9e7f-2c8d3a4b5e1fPros : révocation est instantanée (supprimer de DB). Cons : chaque requête nécessite un lookup DB.
JWT (JSON Web Tokens)
Un format self-contained de token signé (RFC 7519). Le payload contient les claims ; la signature prouve l'authenticité sans état server-side.
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cLes JWTs sont trois segments base64-encoded séparés par des points. Pros : pas de lookup DB. Cons : révocation plus difficile.
Reference tokens
Un hybride : token opaque court qui mappe à une session server-side.
Bearer token vs autres schémas d'auth
| Schéma | Comment ça marche | Meilleur pour |
|---|---|---|
| Bearer Token | Token dans header Authorization ; possession = accès | APIs REST modernes, flows OAuth 2.0 |
| Basic Auth | Username:password base64 dans Authorization | APIs internes/legacy seulement |
| API Key | Clé statique en header ou query | Server-to-server, intégrations simples |
| HMAC / Signed Requests | Le client signe la requête avec secret partagé | APIs haute sécurité (AWS, Stripe webhooks) |
| Mutual TLS (mTLS) | Le client présente un certificat | Service-to-service, zero-trust |
| Session Cookies | Session ID server-side dans cookie | Apps browser |
OAuth 2.0 et bearer tokens
OAuth 2.0 est le framework qui a standardisé les bearer tokens pour l'accès API. Flows courants :
- Authorization Code (avec PKCE). Apps user-facing.
- Client Credentials. Server-to-server.
- Refresh Token. Token long-lived pour obtenir de nouveaux access tokens.
- Device Code. Devices sans navigateur.
Considérations de sécurité
- HTTPS est obligatoire.
- TTLs courts. Access tokens 15min-1h typique.
- Stockage client sécurisé. Browser SPAs : cookie httpOnly secure. Mobile : Keychain/Keystore.
- Révocation de token. Implémenter endpoint d'introspection ou révocation.
- Minimisation de scope.
- Rotation des refresh tokens.
- Validation audience et issuer.
Erreurs courantes avec les bearer tokens
- Stocker les tokens dans localStorage en apps browser. Les attaques XSS lisent localStorage.
- Logger les tokens. Les logs serveur peuvent capturer les headers Authorization. Filtrer.
- Access tokens long-lived.
- Pas de rotation de refresh token.
- Faire confiance aux claims JWT sans vérifier la signature.
- Utiliser HS256 quand RS256 est approprié.
Tester les APIs bearer-token at scale
- L'émission de token est elle-même une API. Pré-émettre les tokens ou mocker l'auth server.
- Token expire mid-test. Implémenter logique refresh dans les scripts.
- Tokens per-user vs shared. Tokens per-VU pour résultats réalistes.
- Tester les paths de révocation.
FAQ : Bearer tokens
Les bearer tokens sont-ils sécurisés ?
Oui, quand correctement gérés : HTTPS seulement, TTLs courts, stockage client sécurisé, minimisation de scope.
Quelle est la différence entre un bearer token et un JWT ?
Bearer token est une catégorie — tout envoyé dans header Authorization: Bearer. JWT est un format spécifique de bearer token avec claims embarqués et signature.
Combien de temps un bearer token devrait-il durer ?
Access tokens : 15 minutes à 1 heure. Refresh tokens : heures à jours.
Puis-je révoquer un JWT bearer token ?
Pas nativement — les JWTs sont valides jusqu'à expiry. La révocation nécessite une denylist ou stratégie TTL court + rotation de refresh token.
Que se passe-t-il si mon bearer token est volé ?
Le voleur a accès complet jusqu'à ce que le token expire. C'est pourquoi les TTLs courts comptent.
Puis-je utiliser des bearer tokens dans les apps browser ?
Oui, mais avec précaution. Stocker dans cookies httpOnly secure (pas localStorage).
Testez les APIs protégées par bearer-token avec LoadFocus
Si vous load-testez des APIs qui utilisent bearer tokens, LoadFocus exécute scripts JMeter et k6 depuis 25+ régions cloud avec support natif pour flows OAuth, gestion de headers et rotation de token per-VU. Inscrivez-vous sur loadfocus.com/signup — pas de carte de crédit — et lancez votre premier load test API authentifié en moins de 5 minutes.
Outils LoadFocus connexes
Mettez ce concept en pratique avec LoadFocus — la plateforme même qui propulse tout ce que vous venez de lire.