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.