28

Kodowałem usługę RESTful w Javie. To co mam rozumieć pory (poprawcie mnie jeśli się mylę):Jaka jest różnica między JSON Web Signature (JWS) a JSON Web Token (JWT)?

Reklamowe autoryzacja odbywa się za pomocą JSON Web Tokens (JWT) które mają trzy części: nagłówek, ładunek, a tajne (udostępniane między klientem a serwerem).

Zrozumiałem tę koncepcję i natknąłem się na JSON Web Signature (JWS) podczas czytania o JWT.

JWS jest również zakodowana jednostka podobna do JWT ma nagłówek, ładowność oraz wspólny sekret.

Pytanie: Jaka jest różnica między tymi dwoma koncepcjami, a mianowicie JWT i JWS? A jeśli są one zarówno pod względem technicznym, to co za różnica w ich realizacji?

Jest to pierwszy raz, kiedy pracuję z tokenu uwierzytelniania oparte, więc jest to możliwe, ja źle koncepcji w ogóle.

P.S. Dowiedziałem się o JWS podczas przeglądania przykładów na this website.

Odpowiedz

27

JWT faktycznie wykorzystuje JWS do jego podpisania, z spec:

JSON Web Reklamowe (JWT) jest kompaktowym, URL-safe sposobem reprezentowania roszczeń być przenoszone między dwiema stronami. Roszczenia w JWT są kodowane jako obiekt JavaScript Object Notation (JSON), który jest używany jako obiekt JSON Web Signature (JWS) lub jako tekst jawny o strukturze JSON Web Encryption (JWE), umożliwiający twierdzi, że jest cyfrowo podpisany lub MACedowany i/lub zaszyfrowany.

Tak więc JWT jest strukturą JWS z obiektem JSON jako ładunkiem. Niektóre opcjonalne klawisze (lub roszczenia) zostały zdefiniowane takich jak iss, aud, exp

Oznacza to również, itd., Że jego ochrona integralności nie ogranicza się tylko do wspólnych sekretów, ale publiczna/kryptografii klucza prywatnego może być również używany.

+0

Dobrze, że ma sens. Gdzie zatem znajdują się moje dane użytkownika, jeśli ładunek zawiera zestaw roszczeń? Czy możesz pokazać mi przykład? – leo

+0

proszę spojrzeć na przykłady w Załączniku A w specyfikacji tutaj: https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32 –

+0

Roszczenia będą miały informacje o użytkowniku. Oto przykład kodu z komentarzami mówiącymi o tym, co się dzieje https://bitbucket.org/b_c/jose4j/wiki/JWT%20Examples –

Powiązane problemy