Sobes.tech
Junior — Middle

Jaki jest cel i zastosowanie JSON Web Tokens w systemie autoryzacji?

sobes.tech AI

Odpowiedź od AI

JSON Web Tokens (JWT) są używane do bezpiecznego przesyłania informacji między klientem a serwerem w systemach autoryzacji. JWT zawiera zakodowaną ładunek (payload) z danymi użytkownika i jest podpisany kluczem tajnym, co pozwala serwerowi na sprawdzenie autentyczności tokena bez konieczności przechowywania sesji.

Główny cel JWT:

  • Uwierzytelnianie: po pomyślnym logowaniu użytkownik otrzymuje JWT, który jest wysyłany z każdym żądaniem w celu potwierdzenia jego tożsamości.
  • Autoryzacja: w tokenie mogą być przechowywane prawa dostępu, co pozwala serwerowi podejmować decyzje bez dodatkowego zapytania do bazy danych.

Przykład użycia:

POST /login
{
  "username": "user",
  "password": "pass"
}

Odpowiedź:
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6..."
}

Następnie klient wysyła ten token w nagłówku Authorization:

GET /protected-resource
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6... 

Serwer weryfikuje podpis i wyciąga dane z tokena, aby podjąć decyzję o dostępie.