Sobes.tech
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');
}