Junior
Qu'est-ce que l'authentification de base?
sobes.tech IA
Réponse de l'IA
L'authentification de base est une méthode d'authentification HTTP dans laquelle le client envoie son nom d'utilisateur et son mot de passe encodés dans l'en-tête de la requête HTTP.
Mécanisme de fonctionnement:
- Le client envoie une requête à une ressource protégée sans crédentials.
- Le serveur répond avec un code d'état
401 Unauthorizedet un en-têteWWW-Authenticate: Basic realm="[realm]", où[realm]est la description de la zone d'accès. - En recevant la réponse
401et l'en-têteWWW-Authenticate, le client demande à l'utilisateur de saisir son login et mot de passe. - Le client encode les crédentials en base64 :
base64(login:password). - Le client renvoie la requête au serveur avec l'en-tête
Authorization: Basic <crédentials_encodés>. - Le serveur décode les crédentials, les vérifie et, en cas de succès, donne accès à la ressource.
Format de l'en-tête Authorization:
Authorization: Basic <base64(login:password)>
Exemple:
Authorization: Basic c29tZXVzZXI6c29tZXBhc3N3b3Jk
Où c29tZXVzZXI6c29tZXBhc3N3b3Jk est la codification base64 de la chaîne someuser:somepassword.
Caractéristiques:
- Facile à mettre en œuvre: Facile à configurer aussi bien côté client que côté serveur.
- Insécurisé: Les crédentials sont transmises dans un format facile à décoder (base64 est une encodage, pas un chiffrement). Il est fortement déconseillé de l'utiliser sans HTTPS/SSL/TLS pour protéger le canal de communication.
- Transmission à chaque requête: Les crédentials sont envoyés avec chaque requête au resource protégée.
L'authentification de base est souvent utilisée en combinaison avec HTTPS pour assurer la confidentialité des crédentials transmises.