un jeton web JSON (JWT) este un standard deschis (RFC 7519) care definește un mod compact și autonom pentru transmiterea în siguranță a informațiilor între părți ca obiect JSON. Aceste informații pot fi verificate și de încredere, deoarece sunt semnate digital. JWTs poate fi semnat folosind un secret sau o pereche de chei publice / private.

care este structura jetoanelor web JSON?,

  • antet
  • sarcină utilă
  • semnătură

antet

antetul constă de obicei din două părți: tipul de token, care este JWT, și algoritmul hashing care este utilizat, cum ar fi HMAC SHA256 sau RSA.

De exemplu:

{ "alg": "HS256", "typ": "JWT"}

Apoi, acest JSON este Base64Url-codificate pentru a forma prima parte a JWT.

sarcină utilă

a doua parte a tokenului este sarcina utilă, care conține revendicările. Revendicările sunt declarații despre o entitate.,revendicări înregistrate: acestea sunt un set de revendicări predefinite care nu sunt obligatorii, dar recomandate, pentru a furniza un set de revendicări utile, interoperabile. consultați pentru mai multe informații Înregistrate Cerere Nume

  • creanțelor Publice: Acestea pot fi definite în funcție de cei care folosesc JWTs. Dar pentru a evita coliziunile, acestea ar trebui definite

  • revendicări Private: acestea sunt revendicările personalizate create pentru a partaja informații între părți care sunt de acord să le folosească și nu sunt revendicări înregistrate sau publice.,

  • Un exemplu de sarcină utilă este prezentat mai jos:

    { "sub": "1234567890", "name": "John Doe", "admin": true}

    Semnătura

    Pentru a crea semnătura parte, trebuie să ia codificat antet, codat utilă, un secret, algoritmul specificat în antet, și semn că.

    HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

    apoi, trebuie să puneți totul împreună. Următoarele arată un JWT care are antetul anterior și sarcina utilă codificate, și este semnat cu un secret.

    Dacă vrei să joci cu JWT și a pus aceste concepte în practică, puteți utiliza jwt.io.