Junior — Middle
Jaki jest cel JSON Web Token i w jakich scenariuszach jest używany?
sobes.tech AI
Odpowiedź od AI
JSON Web Token (JWT) — to kompaktowy, bezpieczny sposób przekazywania informacji między stronami w formacie obiektu JSON. Głównym celem JWT jest uwierzytelnianie i autoryzacja użytkowników w aplikacjach internetowych.
Scenariusze zastosowania:
- Przesyłanie danych użytkownika po zalogowaniu (np. ID, role) bez konieczności przechowywania sesji na serwerze.
- Zapewnienie bezpieczeństwa API, gdzie klient wysyła JWT w nagłówku Authorization, aby potwierdzić swoją tożsamość.
- Wymiana informacji między usługami w systemach rozproszonych.
Przykład użycia w Node.js:
const jwt = require('jsonwebtoken');
// Tworzenie tokena
const token = jwt.sign({ userId: 123, role: 'admin' }, 'tajny_klucz', { expiresIn: '1h' });
// Weryfikacja tokena
try {
const decoded = jwt.verify(token, 'tajny_klucz');
console.log(decoded.userId); // 123
} catch (err) {
console.error('Nieprawidłowy token');
}