Junior
Qu'est-ce que l'authentification de base (Basic Auth) ?
sobes.tech IA
Réponse de l'IA
L'authentification de base est la méthode la plus simple pour authentifier un client HTTP, définie dans la norme RFC 7617.
Principe de fonctionnement :
- Le client envoie une requête HTTP à une ressource protégée.
- Le serveur répond avec un statut
401 Unauthorizedet un en-têteWWW-Authenticate: Basic realm="<realm>", où<realm>est une description textuelle de la zone protégée (ressource). - Le navigateur ou l'application cliente affiche une boîte de dialogue pour saisir le nom d'utilisateur et le mot de passe.
- Le client encode le nom d'utilisateur et le mot de passe dans une chaîne au format
username:password. - La chaîne obtenue est encodée en Base64.
- Le client répète la requête, en ajoutant l'en-tête
Authorization: Basic <chaîne_base64_encodée>, où<chaîne_base64_encodée>est le résultat de l'encodage Base64. - Le serveur décode la chaîne Base64, sépare le nom d'utilisateur et le mot de passe et vérifie les identifiants.
- Si les identifiants sont corrects, le serveur envoie la ressource demandée. Sinon, il renvoie à nouveau
401 Unauthorized.
Exemple d'en-tête Authorization :
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
où YWxhZGRpbjpvcGVuc2VzYW1l est une chaîne encodée en Base64 de aladdin:opensesame.
Caractéristiques :
- Simplicité : Facile à mettre en œuvre côté client comme côté serveur.
- Insecurity : Les données d'identification sont transmises, même encodées en Base64, mais non chiffrées. Base64 est une codification, pas un chiffrement. En interceptant le trafic, les données peuvent être facilement décodées. Seulement en combinaison avec HTTPS, elle offre un niveau minimal de sécurité.
- État : Ne conserve pas d'état sur le serveur entre les requêtes (sans état). Chaque requête nécessite l'en-tête
Authorization. - Expérience utilisateur : La boîte de dialogue du navigateur est moins flexible et conviviale comparée aux formulaires d'authentification personnalisés.
Utilisation : Principalement pour protéger les API, ressources statiques ou dans des systèmes internes simples où la sécurité n'est pas critique, ou toujours en combinaison avec SSL/TLS (HTTPS).