Envoi d'une requête HTTP avec authentification de base

Bash:
Envoi d'une requête HTTP avec authentification de base

Comment faire :

# Utiliser cURL pour envoyer une requête avec authentification de base
user="monUtilisateur"
password="monMotDePasse"
url="https://monapi.exemple.com/donnees"

# La requête
response=$(curl --user $user:$password --request GET $url)

# Afficher le résultat
echo $response

Sortie échantillon:

{"status":"success","data":"Voici vos données privées!"}

Plongée en profondeur

Historiquement, l’authentification de base est une des méthodes les plus anciennes pour sécuriser des accès web. Simple à mettre en place, elle combine l’identifiant et le mot de passe (séparés par un deux-points), encode le tout en Base64, puis le transmet via l’entête ‘Authorization’ d’une requête HTTP.

Il existe des alternatives plus sûres, telles que l’authentification Digest, l’authentification par formulaire, OAuth, ou même l’utilisation de tokens JWT (JSON Web Tokens). L’authentification de base, bien que moins sécurisée car les credentials pourraient être interceptés en clair si la connexion n’est pas chiffrée (HTTPS), reste utilisée pour sa simplicité d’implémentation et de test lors du développement.

Concernant l’implémentation, avec Bash et cURL, le flag --user gère l’encodage en Base64 et l’ajout de l’entête automatiquement. Il est fortement recommandé d’utiliser HTTPS au lieu de HTTP pour sécuriser la transmission des données d’authentification.

Voir également