web-dev-qa-db-fra.com

Quelle est la différence entre les en-têtes X-Auth-Token et Authorization.

quelle est la différence entre X-Auth-Token: dadas123sad12 et Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ == en-têtes. Qui est préféré

23
Deepak

Authorization est l'en-tête principal utilisé par les clients pour s'authentifier auprès des homologues de HTTP, comme prévu dans RFC 7235 . Il est souvent lié au schéma d’authentification Basic selon RFC 7617 , mais ce n’est pas une donnée.

Le schéma Basic permet aux clients de fournir une paire nom d'utilisateur-mot de passe séparée par un signe deux-points (:) codé en Base64. On ne saurait trop insister sur le fait qu'il s'agit d'un codage de transport qui n'apporte aucun avantage réel en matière de sécurité. Par exemple. l'exemple que vous donnez peut être trivialement "déchiffré" en Aladdin:open sesame.

À travers le registre de schéma d'authentification HTTP IANA (voir aussi: RFC 7235, sec. 5.1 ), vous trouverez le schéma Bearer (défini dans le RFC 6750), qui est étroitement liée à OAuth 2.0. X-Auth-Token fournit un raccourci ici car il (vraisemblablement) ne repose ni sur OAuth ni sur le cadre d’authentification HTTP.

S'il vous plaît noter que avec X-Auth-Token étant un en-tête non enregistré , il n’est soumis à aucune spécification formelle et sa présence et son contenu sont toujours liés à une application respective. Aucune hypothèse générale ne peut être faite à ce sujet.

30
DaSourcerer

"Autorisation de base" signifie une authentification de base. Le navigateur/client doit fournir le nom d'utilisateur/mot de passe à chaque demande.

Dans le cas de 'x-auth-token', l'utilisateur doit fournir un nom d'utilisateur/mot de passe pour la première fois et le serveur renvoie un jeton d'accès dans le champ d'en-tête 'x-auth-token'. Pour les sessions suivantes, ce jeton est échangé, pas le nom d'utilisateur/mot de passe.

11
user18853