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.