Home
Produk
Portfolio
Tentang
Kontak
Syarat & Ketentuan
Blog

JWT (JSON Web Token): Pengertian, Cara Kerja, Struktur, Kelebihan, dan Contoh Implementasi Lengkap

08 Jul 2026 admin@iamsoft.co.id
Ilustrasi cara kerja JWT (JSON Web Token)  Diagram Authentication menggunakan JWT  Struktur JSON Web Token Header Payload Signature  Contoh JWT pada REST API  JWT Authentication Flow  Bearer Token Authentication  JWT Login Process  Implementasi JWT pada ASP.NET Core  Diagram Authorization menggunakan JWT  JSON Web Token Security

JWT (JSON Web Token): Pengertian, Cara Kerja, Struktur, Kelebihan, dan Contoh Implementasi

Di era aplikasi modern, keamanan merupakan aspek yang tidak dapat diabaikan. Salah satu teknologi yang paling banyak digunakan untuk mengamankan komunikasi antara client dan server adalah JWT (JSON Web Token).

JWT menjadi standar autentikasi pada berbagai platform seperti:

  • REST API
  • Single Page Application (SPA)
  • Mobile Application
  • Microservices
  • Cloud Services
  • IoT

Artikel ini akan membahas JWT secara lengkap mulai dari pengertian, struktur, cara kerja, hingga contoh implementasinya.


Apa itu JWT?

JWT atau JSON Web Token adalah sebuah standar terbuka berdasarkan RFC 7519 yang digunakan untuk mengirimkan informasi antar pihak dalam bentuk objek JSON yang telah ditandatangani secara digital.

Informasi tersebut disebut sebagai claims dan dapat dipercaya karena telah dilindungi menggunakan algoritma kriptografi.

JWT biasanya digunakan untuk:

  • Login pengguna
  • Authentication
  • Authorization
  • API Security
  • Single Sign-On (SSO)
  • OAuth 2.0

Mengapa JWT Banyak Digunakan?

Sebelum JWT populer, sebagian besar aplikasi menggunakan Session Authentication.

Pada Session Authentication:

  1. User Login
  2. Server membuat Session
  3. Session disimpan di Database atau Memory
  4. Client hanya menyimpan Session ID

Metode ini cukup baik, tetapi memiliki beberapa kekurangan seperti:

  • Membutuhkan penyimpanan session
  • Sulit diterapkan pada Microservices
  • Membutuhkan Redis atau Session Server
  • Tidak Stateless

JWT hadir sebagai solusi yang lebih sederhana dan efisien.


Cara Kerja JWT

Proses autentikasi menggunakan JWT terdiri dari beberapa langkah berikut:

1. User Login

Pengguna memasukkan:

  • Username
  • Email
  • Password

Server kemudian melakukan validasi terhadap database.


2. Token Dibuat

Jika login berhasil, server akan membuat JWT yang berisi informasi seperti:

  • User ID
  • Username
  • Role
  • Expired Time

Token kemudian ditandatangani menggunakan Secret Key.


3. Token Dikirim ke Client

Server mengirimkan JWT kepada client.

Client biasanya menyimpan token pada:

  • Local Storage
  • Session Storage
  • Secure Storage
  • HttpOnly Cookie

4. Client Mengakses API

Setiap request akan membawa token pada Header.

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

5. Server Memverifikasi Token

Server melakukan validasi terhadap:

  • Signature
  • Expiration
  • Issuer
  • Audience

Jika valid maka request dapat diproses.


Struktur JWT

JWT terdiri dari tiga bagian utama.

Header.Payload.Signature

Contoh:

xxxxx.yyyyy.zzzzz

Header

Header berisi informasi mengenai algoritma yang digunakan.

Contoh:

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

Payload

Payload berisi informasi pengguna atau Claims.

Contoh:

{
"sub":"123456",
"name":"John Doe",
"role":"Administrator",
"exp":1716000000
}

Claims dapat berupa:

  • User ID
  • Email
  • Username
  • Role
  • Permission
  • Expiration

Signature

Signature dibuat menggunakan:

HMACSHA256(
Base64(Header)+"."+Base64(Payload),
SecretKey)

Signature memastikan token tidak dimodifikasi oleh pihak lain.


Jenis Claims pada JWT

JWT memiliki tiga jenis Claims.

Registered Claims

Contohnya:

  • iss
  • sub
  • aud
  • exp
  • nbf
  • iat
  • jti

Public Claims

Claims yang dapat dibuat sendiri selama mengikuti standar.

Contoh:

{
"department":"IT"
}

Private Claims

Claims khusus yang digunakan antar aplikasi.

Misalnya:

{
"branch":"Jakarta",
"employeeId":"EMP001"
}

Kelebihan JWT

JWT memiliki berbagai kelebihan dibandingkan Session Authentication.

Stateless

Server tidak perlu menyimpan session.


Cepat

Validasi token dapat dilakukan tanpa akses database.


Mudah Digunakan

JWT dapat digunakan oleh:

  • Web
  • Android
  • iOS
  • Desktop
  • IoT

Cocok untuk Microservices

JWT memungkinkan setiap layanan memverifikasi token secara mandiri.


Mendukung Single Sign-On

JWT sering digunakan pada implementasi OAuth2 dan OpenID Connect.


Kekurangan JWT

Walaupun memiliki banyak kelebihan, JWT juga memiliki beberapa kekurangan.

Sulit Melakukan Revoke

Token yang masih aktif tetap dapat digunakan hingga masa berlakunya habis.


Ukuran Token Lebih Besar

JWT lebih besar dibanding Session ID.


Tidak Cocok Menyimpan Data Sensitif

Payload JWT dapat dibaca oleh siapa saja karena hanya dienkode menggunakan Base64.

Jangan menyimpan:

  • Password
  • PIN
  • Nomor Kartu Kredit
  • Data Rahasia

JWT vs Session Authentication

JWTSession
StatelessStateful
Tidak menyimpan sessionMenyimpan session
Cocok untuk APICocok untuk Website Tradisional
Skalabilitas tinggiMembutuhkan Session Server
Mudah digunakan pada MobileLebih cocok Browser

Contoh Penggunaan JWT

JWT digunakan pada berbagai layanan modern seperti:

  • REST API
  • ASP.NET Core Web API
  • Node.js API
  • Spring Boot
  • Laravel API
  • React
  • Angular
  • Vue.js
  • Flutter
  • .NET MAUI

Best Practice Menggunakan JWT

Untuk meningkatkan keamanan aplikasi, berikut beberapa praktik terbaik.

  • Gunakan HTTPS.
  • Buat masa berlaku token yang singkat.
  • Simpan Refresh Token secara aman.
  • Jangan menyimpan password di dalam Payload.
  • Validasi Signature setiap request.
  • Gunakan algoritma yang kuat seperti HS256 atau RS256.
  • Terapkan Refresh Token untuk memperbarui Access Token.
  • Simpan token pada HttpOnly Cookie jika memungkinkan.
  • Lakukan rotasi Secret Key secara berkala.
  • Validasi Issuer dan Audience.

Kesimpulan

JWT (JSON Web Token) merupakan solusi autentikasi modern yang ringan, cepat, dan bersifat stateless. Teknologi ini sangat cocok digunakan pada REST API, aplikasi mobile, Single Page Application (SPA), serta arsitektur microservices karena tidak memerlukan penyimpanan session di server.

Meskipun menawarkan skalabilitas dan performa yang baik, implementasi JWT harus mengikuti praktik keamanan yang benar, seperti menggunakan HTTPS, membatasi masa berlaku token, serta mengelola Access Token dan Refresh Token dengan aman. Dengan penerapan yang tepat, JWT dapat menjadi fondasi keamanan yang andal untuk aplikasi modern.