Aller au contenu principal

Générateur et décodeur Basic Auth

Encodez un nom d’utilisateur et un mot de passe en UTF-8 puis en Base64 pour obtenir l’en-tête HTTP Authorization: Basic, avec des exemples curl et fetch prêts à coller, ou collez un en-tête Basic existant pour retrouver l’identifiant et le mot de passe.

  • Presse-papiers

Intégrer ce widget

Personnalisez le rendu, vérifiez l’aperçu puis copiez le code.

Aperçu

Type de code d’intégration

Code à copier

Responsive et redimensionné automatiquement par Bethemesh.

Base64 n’est pas un chiffrement : n’importe qui peut décoder ces identifiants. N’envoyez l’en-tête Basic qu’en HTTPS.

Cet outil vous a-t-il été utile ?

Comment fonctionne cet outil ?

Cet outil construit l’en-tête HTTP `Authorization: Basic …` à partir d’un nom d’utilisateur et d’un mot de passe, et fait aussi l’inverse : il décode un en-tête Basic pour afficher les identifiants qu’il contient. Il sert aux développeurs qui testent une API, un webhook ou un répertoire protégé par .htpasswd, et aux personnes qui déboguent une requête refusée en 401.

Le schéma Basic est défini par la RFC 7617 : le client concatène l’identifiant, un deux-points et le mot de passe, encode cette chaîne en octets UTF-8, puis en Base64. L’exemple de la RFC, `Aladdin:open sesame`, donne `QWxhZGRpbjpvcGVuIHNlc2FtZQ==`, soit l’en-tête `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`. L’outil applique exactement cette méthode et propose en plus une commande curl et un appel fetch qui envoient cet en-tête.

Le décodage suit le chemin inverse : l’outil accepte l’en-tête complet ou la seule valeur Base64, la décode en UTF-8 et sépare l’identifiant du mot de passe au premier deux-points. Cela montre bien que Base64 n’est pas un chiffrement : n’importe qui interceptant l’en-tête lit le mot de passe en clair. Basic Auth ne doit donc circuler que sur HTTPS, et le serveur doit stocker le mot de passe sous forme de hash (bcrypt dans .htpasswd, par exemple), jamais la valeur Base64.

Comment utiliser cet outil ?

  1. Saisissez les identifiants

    Entrez le nom d’utilisateur et le mot de passe : l’outil produit la valeur Base64 et l’en-tête Authorization: Basic correspondant.

  2. Copiez l’exemple adapté

    Reprenez l’en-tête seul, la commande curl ou l’appel fetch prêts à coller dans votre terminal, votre code ou votre outil d’API.

  3. Ou décodez un en-tête

    Collez un en-tête `Authorization: Basic …` existant, ou uniquement sa partie Base64, pour afficher l’identifiant et le mot de passe qu’il contient.

Encodage Basic

Encodage Basic

Authorization = 'Basic ' + Base64(UTF-8(identifiant + ':' + mot de passe))

Cas d'utilisation

Appeler une API protégée avec curl ou Postman

Générez l’en-tête ou la commande curl pour interroger une API qui attend Basic Auth, comme l’API Jira Cloud avec une adresse e-mail et un jeton d’API.

Comprendre un 401 Unauthorized

Décodez l’en-tête Authorization envoyé par votre client pour vérifier que l’identifiant, le mot de passe et le séparateur sont bien ceux attendus par le serveur.

Configurer un webhook ou un monitoring

De nombreux services demandent la valeur complète de l’en-tête Authorization pour appeler un endpoint protégé : générez-la sans script ni terminal.

Exemples

En-tête Basic pour un compte de test

Entrée

Opération : Générer ; Identifiant : Aladdin ; Mot de passe : open sesame

Résultat

Identifiants en Base64 : QWxhZGRpbjpvcGVuIHNlc2FtZQ== ; En-tête Authorization : Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Conseils et bonnes pratiques

  • Un nom d’utilisateur ne peut pas contenir de deux-points : le serveur coupe au premier « : ». Un deux-points dans le mot de passe, lui, ne pose aucun problème.
  • Avec curl, l’option `-u identifiant:motdepasse` génère le même en-tête ; placez les identifiants entre apostrophes si le mot de passe contient $, ! ou &.
  • Un en-tête Basic est un secret réutilisable tel quel : ne le collez pas dans un ticket, un log ou une capture d’écran partagée.

Sources et références

Questions fréquentes

L’authentification HTTP Basic est-elle sécurisée ?

Elle n’offre aucune confidentialité par elle-même : Base64 se décode instantanément et l’en-tête est envoyé à chaque requête. Sur HTTPS, le transport est chiffré et Basic reste acceptable pour une API interne, un préproduction ou un outil d’administration. Pour une application grand public, préférez des jetons (OAuth 2.0, clés d’API révocables) et une limitation des tentatives.

Comment décoder un en-tête Authorization Basic ?

Retirez le préfixe « Basic », décodez la valeur en Base64 puis lisez le texte UTF-8 obtenu : la partie avant le premier deux-points est l’identifiant, le reste le mot de passe. L’outil le fait automatiquement quand vous collez l’en-tête ou sa valeur.

Le mot de passe peut-il contenir des accents ou des deux-points ?

Oui. La RFC 7617 permet au serveur d’annoncer charset="UTF-8", et l’outil encode toujours en UTF-8, ce qui gère les accents et les emoji. Un deux-points est accepté dans le mot de passe, mais pas dans le nom d’utilisateur.

Quelle différence entre Basic et Bearer ?

Basic transmet l’identifiant et le mot de passe eux-mêmes, encodés en Base64. Bearer transmet un jeton opaque ou un JWT émis par un serveur d’autorisation, qui peut expirer ou être révoqué sans changer le mot de passe. Les deux passent dans l’en-tête Authorization et exigent HTTPS.

Comment se déconnecter d’une authentification Basic dans le navigateur ?

Il n’existe pas de déconnexion standard : le navigateur garde les identifiants en mémoire et les renvoie tant que la session dure. Fermer complètement le navigateur, utiliser une fenêtre privée ou provoquer une nouvelle réponse 401 sont les seules solutions pratiques.

Est-ce la même chose qu’un fichier .htpasswd ?

Non. Le fichier .htpasswd, côté serveur, stocke un hash du mot de passe (bcrypt ou APR1-MD5), tandis que l’en-tête Basic, côté client, transporte le mot de passe en clair encodé en Base64. Cet outil produit l’en-tête envoyé par le client, pas l’entrée .htpasswd.

Outils associés

Des outils similaires ou complémentaires à celui-ci.

Outils similaires

Encodez un texte en Base64 ou décodez une chaîne Base64 pour retrouver son contenu d’origine.

Sécurité & confidentialitéMis en avantUtiliser l’outil

Générez une commande cURL complète à partir d’une requête HTTP.

Sécurité & confidentialitéUtiliser l’outil

Construisez des en-têtes HTTP personnalisés et récupérez une sortie prête à utiliser dans vos requêtes.

Sécurité & confidentialitéUtiliser l’outil