Je me demande quel est le meilleur Authorization
type d'en-tête HTTP approprié pour les jetons JWT .
L'un des types probablement les plus populaires est Basic
. Par exemple:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Il gère deux paramètres tels qu'une connexion et un mot de passe. Il n'est donc pas pertinent pour les jetons JWT.
J'ai également entendu parler du type Bearer , par exemple:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
Cependant, je ne connais pas sa signification. Est-ce lié aux ours?
Existe-t-il un moyen particulier d'utiliser des jetons JWT dans l'en- Authorization
tête HTTP ? Devrions-nous utiliser Bearer
, ou devrions-nous simplifier et simplement utiliser:
Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
Merci.
Éditer:
Ou peut-être juste un JWT
en-tête HTTP:
JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
la source
Bearer
mot - clé. Mais cela vient d'OAuth. Cependant, JWT peut être utilisé sans OAuth. Il est totalement indépendant avec les spécifications OAuth.Authenticate
tête est plus approprié et conforme au RFC7235 qui décrit un cadre d'authentification dans un contexte HTTP 1.1curl -H "Authorization: Bearer <TOKEN>" <the rest of your curl cmd>
Réponse courte
Le
Bearer
schéma d'authentification est ce que vous recherchez.Longue réponse
Euh ... Non :)
Selon les dictionnaires Oxford , voici la définition du porteur :
La première définition comprend les synonymes suivants: messager , agent , convoyeur , émissaire , transporteur , fournisseur .
Et voici la définition du jeton de porteur selon la RFC 6750 :
Le
Bearer
schéma d'authentification est enregistré dans IANA et défini à l'origine dans la RFC 6750 pour le cadre d'autorisation OAuth 2.0, mais rien ne vous empêche d'utiliser leBearer
schéma pour les jetons d'accès dans les applications qui n'utilisent pas OAuth 2.0.Respectez les normes autant que possible et ne créez pas vos propres schémas d'authentification.
Un jeton d'accès doit être envoyé dans l'en-
Authorization
tête de la demande à l'aide duBearer
schéma d'authentification:En cas de jeton invalide ou manquant, le
Bearer
schéma doit être inclus dans l'en-WWW-Authenticate
tête de réponse:la source