Lewati ke konten utama
menjadi.dev
Backend

JWT (JSON Web Token)

Token terenkripsi yang menyimpan data user untuk autentikasi stateless.

JWT (JSON Web Token) adalah standar terbuka (RFC 7519) untuk membuat token access yang mengandung claims (informasi) sebagai objek JSON. JWT terdiri dari 3 bagian yang dipisahkan titik (.): Header (algoritma dan tipe token), Payload (data/claims: user ID, role, expiry), dan Signature (hash untuk verifikasi integritas). JWT ditandatangani oleh server menggunakan secret key — tidak bisa diubah client tanpa membuat signature invalid. Keuntungan JWT: stateless (server tidak perlu database untuk verifikasi token), bisa di-pass antar services (microservices), dan self-contained (semua info ada di token). Kekurangan: tidak bisa di-revoke secara instant (harus menunggu expire atau maintain blacklist).

Contoh Kode

// JWT structure (decoded)
// HEADER:    { "alg": "HS256", "typ": "JWT" }
// PAYLOAD:   { "sub": "123", "name": "Budi", "iat": 1715424000 }
// SIGNATURE: HMACSHA256(base64(header) + "." + base64(payload), secret)

// Hasil: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMifQ.signature

Istilah Terkait