Les pubs vous déplaisent ? Aller Sans pub Auj.

HTTP Basic Auth décodé — Générer des en-têtes sans la danse manuelle de Base64

Mis à jour le

L'authentification HTTP de base est plus simple qu'elle n'en a l'air. Découvrez ce qui se trouve réellement dans l'en-tête Authorization, pourquoi elle se compose simplement de données encodées en base64, et comment générer une telle authentification sans utiliser un terminal.

HTTP Basic Auth Démystifié — Générez des en-têtes sans la danse manuelle de base64 1
ANNONCE · Supprimer ?

Si vous avez déjà appelé une API et avez vu Authorization: Basic dXNlcjpwYXNz dans les en-têtes de requête, vous avez utilisé l'authentification HTTP de base. Ce bloc de caractères semble cryptique, mais ce n'est pas chiffré — c'est une encodage base64. Une fois que vous comprenez ce qui se trouve réellement dans cet en-tête, vous ne copiez plus aveuglément les chaînes d'authentification.

Ce qui se trouve réellement dans l'en-tête Authorization

Le format est extrêmement simple :

Authorization: Basic <credentials>

<credentials> est l'encodage base64 de username:password — littéralement le nom d'utilisateur, un point-virgule, et le mot de passe concaténés et encodés.

Pour le nom d'utilisateur alice et le mot de passe secret:

alice:secret
↓ base64 encode
YWxpY2U6c2VjcmV0

Final header:
Authorization: Basic YWxpY2U6c2VjcmV0

C'est tout le mécanisme. Aucun jeton, aucune signature, aucune expiration — simplement des identifiants encodés dans un format que les en-têtes HTTP peuvent transporter.

L'encodage base64, ce n'est pas une cryptographie

L'encodage base64 convertit des données binaires en texte ASCII en utilisant 64 caractères imprimables (A–Z, a–z, 0–9, +, /). Le point clé à comprendre : il est entièrement inversable sans clé. Quiconque intercepte l'en-tête peut le déchiffrer en quelques secondes.

Vérifiez-le vous-même dans un terminal :

# Encode
echo -n "alice:secret" | base64
# YWxpY2U6c2VjcmV0

# Decode it back
echo "YWxpY2U6c2VjcmV0" | base64 --decode
# alice:secret

C'est pourquoi l'authentification HTTP de base sur HTTP brut est un désastre de sécurité — les identifiants sont lisibles par tout le monde ayant accès au réseau. Utilisez toujours HTTPS.

Génération de l'en-tête dans votre code

La plupart des clients HTTP gèrent directement l'authentification de base. Voici comment la configurer dans les environnements courants :

curl

# curl adds the Authorization: Basic header automatically
curl -u alice:secret https://api.example.com/endpoint

Construction manuelle (bash)

CREDENTIALS=$(echo -n "alice:secret" | base64)
curl -H "Authorization: Basic $CREDENTIALS" https://api.example.com/endpoint

Python

import base64
import requests

credentials = base64.b64encode(b"alice:secret").decode("utf-8")
headers = {"Authorization": f"Basic {credentials}"}
response = requests.get("https://api.example.com/endpoint", headers=headers)

JavaScript

const credentials = btoa("alice:secret");

fetch("https://api.example.com/endpoint", {
  headers: { "Authorization": `Basic ${credentials}` }
});

Au lieu de coder manuellement chaque fois, utilisez le Générateur d'authentification de base — collez vos identifiants et obtenez la valeur de l'en-tête prête à copier en un clic.

Quand utiliser l'authentification de base (et quand l'ignorer)

L'authentification de base s'adapte bien à quelques scénarios :

  • APIs internes et outils — lorsque vous contrôlez les deux extrémités et que le TLS est garanti
  • Authentification simple pour webhooks — de nombreuses services l'offrent pour les webhooks entrants
  • Développement et tests — rapide à mettre en place, facile à déboguer
  • Intégrations avec des systèmes anciens — de nombreuses APIs anciennes l'exigent

Évitez-la en faveur d'OAuth, de jetons JWT ou de clés API lorsque :

  • Vous construisez une API accessible au public
  • Vous avez besoin d'expiration ou de révocation de jetons sans changer le mot de passe
  • Les utilisateurs s'authentifient via un navigateur (OAuth offre un meilleur UX)
  • Vous ne pouvez pas garantir HTTPS partout dans le chemin de la requête

Le vrai tableau de sécurité

L'authentification de base n'est pas intrinsèquement inappropriée — elle est simplement des identifiants bruts. La sécurité dépend entièrement de votre couche de transport :

  • Avec HTTPS : Les identifiants sont chiffrés en transit. L'en-tête Authorization est aussi sûr que votre implémentation TLS.
  • Sans HTTPS : Tout le monde sur le réseau lit l'en-tête en clair. Ne faites pas cela en production.

Une limitation pratique à connaître : il n'y a pas de mécanisme de déconnexion intégré. Les identifiants sont envoyés à chaque requête pendant la durée de la session. Pour tout ce qui concerne les comptes d'utilisateurs ou la gestion des sessions, un mécanisme étatique (OAuth, jetons de session) est mieux adapté.

Générez votre en-tête sans les calculs base64

Si vous avez besoin d'un en-tête d'authentification de base correctement formaté pour une appel API, une configuration de service ou une commande curl, le Générateur d'authentification de base gère l'encodage et le formatage pour vous. Entrez votre nom d'utilisateur et votre mot de passe, obtenez la valeur de l'en-tête. Aucun terminal, aucune commande base64, aucune erreur de frappe.

Envie d'une expérience sans pub ? Passez à la version sans pub

Installez nos extensions

Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide

Sur Extension Chrome Sur Extension de bord Sur Extension Firefox Sur Extension de l'opéra

Le Tableau de Bord Est Arrivé !

Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !

ANNONCE · Supprimer ?
ANNONCE · Supprimer ?
ANNONCE · Supprimer ?

Coin des nouvelles avec points forts techniques

Impliquez-vous

Aidez-nous à continuer à fournir des outils gratuits et précieux

Offre-moi un café
ANNONCE · Supprimer ?