Lewati ke konten utama
FreeOnlineTools Go
Bahasa Indonesia
Penjelasan

Apa itu JWT? Penjelasan Lengkap tentang JSON Web Token

Oleh FreeOnlineTools Team · Diperbarui pada tanggal 2026-09-02

Jawaban Cepat

JWT adalah string dengan tiga bagian berkode Base64URL yang dipisahkan oleh titik: header.payload.signature. Header menentukan algoritme, payload berisi klaim (ID pengguna, peran, kedaluwarsa), dan tanda tangan membuktikan keaslian. JWT digunakan untuk otentikasi tanpa kewarganegaraan. Gunakan Dekoder JWT gratis kami untuk memeriksa konten token di browser Anda.

Perkenalan

JWT (JSON Web Token) adalah format token aman URL yang ringkas dan ditentukan oleh RFC 7519 untuk mengirimkan informasi antar pihak dengan aman sebagai objek JSON. JWT banyak digunakan untuk otentikasi dan otorisasi dalam aplikasi web: setelah pengguna masuk, server mengeluarkan JWT yang disertakan klien dalam permintaan berikutnya untuk membuktikan identitas. JWT tidak memiliki kewarganegaraan — server tidak perlu mencari token di database; token itu sendiri berisi klaim pengguna dan tanda tangan yang membuktikan bahwa token itu tidak dirusak.

Langkah demi Langkah

  1. Pahami struktur tiga bagian

    JWT memiliki tiga bagian: header (algoritma dan tipe), payload (klaim), dan tanda tangan (membuktikan integritas). Setiap bagian dikodekan Base64URL dan dipisahkan oleh titik: eyJhbGciOi...J9.eyJzdWIi...J9.signature. Dua bagian pertama dapat dibaca oleh siapa saja yang memiliki token; hanya tanda tangan yang memerlukan kunci rahasia.

  2. Pelajari klaim standar

    Payload berisi klaim — pernyataan tentang subjek. Klaim standar: 'sub' (subjek/ID pengguna), 'iat' (dikeluarkan pada stempel waktu), 'exp' (kedaluwarsa), 'nbf' (bukan sebelumnya), 'iss' (penerbit), 'aud' (audiens). Klaim khusus dapat mencakup peran, izin, atau data lainnya.

  3. Memahami algoritma penandatanganan

    JWT menggunakan penandatanganan simetris (HS256 — rahasia bersama) atau asimetris (RS256, ES256 — pasangan kunci publik/pribadi). Tanda tangan mencegah gangguan: mengubah bagian mana pun dari token akan membatalkan tanda tangan. Hanya pemegang kunci rahasia/pribadi yang dapat membuat token yang valid.

  4. Gunakan JWT untuk otentikasi

    Setelah login, server membuat JWT dan mengirimkannya ke klien. Klien menyertakan JWT di header Otorisasi (token Pembawa) untuk permintaan berikutnya. Server memverifikasi tanda tangan dan memeriksa kedaluwarsa — tidak diperlukan pencarian basis data.

Contoh

__TETAP_18__ struktur

Masukan: Tipikal JWT

Keluaran: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSIsImV4cCI6MTY5MzYxMjgwMH0.signature

Header yang didekodekan

Masukan: Bagian pertama diterjemahkan

Keluaran: {"alg": "HS256", "typ": "JWT"}

Muatan yang didekodekan

Masukan: Bagian kedua diterjemahkan

Keluaran: {"sub": "user1", "name": "Alice", "iat": 1693526400, "exp": 1693612800}

Masalah Umum

  • Decoding vs verifikasi —decoding JWT (membaca isinya) TIDAK membuktikan keasliannya. Selalu verifikasi sisi server tanda tangan dengan kunci rahasia sebelum mempercayai klaim.
  • Menyimpan JWT di Penyimpanan lokal —ini membuatnya dapat diakses oleh JavaScript, rentan terhadap serangan XSS. Simpan di cookie httpOnly untuk keamanan yang lebih baik.
  • Token berumur panjang —jika token dicuri, token tersebut tetap berlaku hingga habis masa berlakunya. Gunakan token akses berumur pendek (15-60 menit) dengan token penyegaran untuk sesi yang panjang.
  • Data sensitif dalam payload —payload dapat dibaca oleh siapa saja yang memiliki token (adalah Base64, tidak dienkripsi). Jangan pernah memasukkan kata sandi, kartu kredit, atau rahasia ke dalam payload.

Kiat

  • Selalu verifikasi sisi server tanda tangan JWT sebelum memercayai klaim apa pun — decoding saja bukanlah autentikasi.
  • Gunakan token akses yang berumur pendek (15-60 menit) dengan token penyegaran untuk sesi yang panjang untuk meminimalkan kerusakan akibat pencurian token.
  • Simpan JWT di cookie httpOnly, Secure, SameSite, bukan localStorage untuk mencegah serangan XSS.
  • Gunakan Dekoder JWT kami untuk memeriksa konten token untuk proses debug —token Anda tidak pernah keluar dari browser Anda.

Alat Terkait

Panduan Terkait

Referensi