Quelle est la différence entre un JWT et un jeton porteur?

j'apprends quelque chose sur L'autorisation comme Basic, Digest, OAuth2.0, JWTs, et Jeton porteur.

maintenant j'ai une question.

vous savez que le JWTs est utilisé comme un Access_Token dans le OAuth2.0 standard. JWTs apparaît à la RFC 7519, et le jeton porteur est à la RFC 6750 .

par exemple, le porteur:

Authorization: Bearer <token>

j'ai utilisé pour envoyer token au serveur par AJAX ou ajouter token à la chaîne de requête de URL. Je sais qu'un pion peut également être envoyé en l'ajoutant un en-tête de requête. Cela signifie-t-il que le jeton doit être ajouté à L'en-tête Authorization Bearer?

pourriez-vous me dire quelle est la relation entre JWTs et le jeton porteur? Merci beaucoup.

32
demandé sur JuJoDi 2016-11-02 11:38:14

3 réponses

JWT est une norme d'encodage pour les tokens qui contient une charge utile de données JSON qui peut être signée et cryptée.

JWT peut être utilisé pour beaucoup de choses, parmi celles-ci sont des jetons au porteur, c.-à-d. un morceau d'information que vous pouvez présenter à un service qui en vertu de vous l'ayant (Vous étant le "porteur") vous accorde l'accès à quelque chose.

les jetons au porteur peuvent être inclus dans une requête HTTP de différentes manières, l'un d'eux (probablement le l'un étant l'en-tête d'Autorisation. Mais vous pouvez également le mettre dans un paramètre request, un cookie ou le corps de la requête. C'est surtout entre vous et le serveur auquel vous tentez d'accéder.

25
répondu Thilo 2016-11-02 08:51:25

réponse Courte

JWTs sont un moyen pratique de coder et vérifier revendications .

un jeton porteur est juste une chaîne, potentiellement arbitraire, qui est utilisée pour l'autorisation.

Contexte (histoire)

il y a quelques années, avant la révolution JWT, un <token> était juste une chaîne sans signification intrinsèque, par exemple 2pWS6RQmdZpE0TQ93X. Ce jeton a ensuite été recherché dans une base de données, qui contenait le claims pour ce jeton. L'inconvénient de cette approche est que L'accès DB (ou un cache) est requis chaque fois que le token est utilisé.

JWTs coder et vérifier (via la signature) de leur propre revendications . Cela permet aux gens d'émettre des JWT de courte durée qui sont apatrides (lire: autonome, ne dépend pas de quelqu'un d'autre). Ils n'ont pas besoin de toucher le frein rhéostatique. Cela réduit la charge DB et simplifie l'architecture d'application car seul le service qui émet le JWTs doit s'inquiéter de frapper la couche DB/persistence (le refresh_token que vous avez probablement rencontré).

33
répondu rmharrison 2016-11-02 08:52:30

JWTs travailler avec deux types de token, Jeton de paramètre: passe de jeton D'accès comme paramètre. Jeton porteur: c'est un pass en tête avec "Porteur".

veuillez également lire la question suivante:

Qu'est-ce qu'un Token porteur et un token_type dans UNAUTH 2?

-1
répondu Ehtasham Nasir 2017-05-23 12:17:53