Pourquoi ' Porteur ' requis avant le jeton dans ' Autorisation ' en-tête dans une requête HTTP?

Quelle est exactement la différence entre les deux en-têtes suivants:

Authorization : Bearer cn389ncoiwuencr vs Authorization : cn389ncoiwuencr 

Toutes les sources que jai parcouru, définit la valeur de len-tête « Authorization » comme « Bearer » suivi du jeton réel. Cependant, je nai pas pu en comprendre la signification. Que faire si je mets simplement le jeton dans len-tête dautorisation?

Commentaires

  • Il existe dautres méthodes dauthentification http, comme basique ou résumé . Je suppose que ' est agréable de pouvoir les distinguer.
  • La question concerne spécifiquement lauthentification basée sur les jetons, qui est généralement effectuée après lauthentification de base pour que lutilisateur ' ne doit pas fournir le nom dutilisateur et le mot de passe à chaque demande.
  • Javais également une question similaire. Je voulais choisir un schéma pour une implémentation de jeton de courte durée, qui nest pas entièrement conforme à Oauth 2.0. Je me demandais si je pouvais utiliser Bearer ou toute valeur non standard sans avoir des problèmes avec linterprétation des proxies ' et des serveurs '. La solution la plus proche pour laquelle jai trouvé une réponse était: stackoverflow.com/questions/7802116/… et stackoverflow.com/questions/8463809/…
  • Les serveurs renvoient-ils généralement un jeton via la même route ie " Autorisation: Porteur " de la réponse HTTP? Ou fait-elle presque toujours partie du corps de la réponse?
  • Cette page dauthentification HTTP sur MDN est très utile pour la discussion.

Réponse

Le modèle Authorization: <type> <credentials> a été introduit par le W3C dans HTTP 1.0 , et a été réutilisé dans de nombreux endroits depuis. De nombreux serveurs Web prennent en charge plusieurs méthodes dautorisation. Dans ces cas, envoyer uniquement le jeton ne suffit pas.

Les sites utilisant le format

Authorization : Bearer cn389ncoiwuencr 

implémentent très probablement OAuth 2.0 jetons de support . Le Cadre dautorisation OAuth 2.0 définit un certain nombre dautres exigences pour garantir la sécurité des autorisations, par exemple, nécessitant lutilisation de HTTPS / TLS.

Si vous « réintégrez avec un service qui utilise OAuth 2.0, il est judicieux de vous familiariser avec le framework afin que le flux que vous utilisez soit correctement mis en œuvre et en évitant les vulnérabilités inutiles. Il existe un certain nombre de bons didacticiels disponibles en ligne.

Commentaires

  • I ' Je ne suis pas familier avec lAPI MS Graph, cela pourrait être une bizarrerie de leur implémentation.
  • Cest ce que je pensais. Étant donné votre connaissance des jetons Bearer et des jetons en général, pouvez-vous voir la sécurité implications par le fait que lAPI accepte le token wi Thout the Bearer mot-clé?
  • Pas vraiment, mais je suis daccord avec un commentaire sur cette question – si leur implémentation diffère sur ce point, quest-ce qui est différent? Cela étant dit, il existe un certain nombre dimplémentations de type OAuth qui sécartent des RFC. Cela ne signifie pas automatiquement que leurs implémentations sont moins sécurisées, cependant.

Réponse

Bien avant lautorisation du porteur, cet en-tête a été utilisé pour l authentification de base . Pour linteropérabilité, lutilisation de ces en-têtes est régie par les normes W3C, donc même si vous «relisez et écrivez len-tête, vous devez les suivre. Le porteur distingue le type dautorisation que vous utilisez, cest donc important.

Réponse

Un jeton de support est défini dans len-tête dautorisation de chaque requête HTTP daction en ligne et le support lui-même détermine le type dauthentification.

Réf https://developers.google.com/gmail/markup/actions/verifying-bearer-tokens

Commentaires

  • Cette réponse est spécifique aux développeurs Gmail, pas à tous les développeurs Web. Une ' action ' est une concept gmail.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *