
Masalah Autentikasi di Masa Lalu (Sessions)
Dulu, saat kamu berhasil Login, server akan membuat semacam "Kertas Catatan" (Session) di memori komputernya yang menyatakan bahwa kamu sedang online. Lalu server memberimu nomor antrean (Cookie ID).
Setiap kamu berpindah halaman, server harus sibuk mengecek nomor antreanmu dengan daftar catatannya. Bayangkan jika pengunjungnya 1 juta orang? Memori server akan penuh dan meledak!
Solusi Era Modern: JWT (Pita Gelang Festival)
JWT (dibaca: Jot) singkatan dari JSON Web Token. Ini adalah metode yang mengubah cara kita melakukan autentikasi (Login).
Alih-alih mencatat namamu di memori server, saat kamu berhasil login, server akan "Mencetak sebuah Pita Gelang" yang berisi data dirimu (Nama, Role Admin/User) yang sudah dicap dengan tanda tangan digital super rahasia (Secret Key). Pita ini (JWT) diberikan kepadamu.
Sekarang, setiap kamu me-request sesuatu (seperti minta data profil), kamu cukup memamerkan gelang tersebut di Header request-mu.
Kenapa JWT Sangat Ringan dan Kuat?
- Server Tidak Perlu Mengingat (Stateless): Server Backend tidak menyimpan catatan apapun! Ia hanya melihat gelangmu (Token), memverifikasi keaslian "Tanda Tangannya" menggunakan Secret Key, dan langsung percaya. Ini membuat server sangat ringan.
- Bisa Dibawa Lintas Server: Jika perusahaanmu punya 5 server berbeda (Microservices), kamu bisa membawa Token JWT yang sama ke server manapun tanpa perlu login ulang, karena semua server tersebut bisa mengecek keaslian tanda tangannya.
Anatomi JWT (Tiga Bagian Teks Acak)
Jika kamu melihat token JWT, bentuknya seperti huruf acak panjang yang dipisahkan oleh dua buah titik (xxxxx.yyyyy.zzzzz).
- Header (Merah): Berisi informasi jenis token dan algoritma sandi yang dipakai.
- Payload (Ungu): Ini isinya! Data yang kamu tanam (seperti ID User atau nama). PENTING: Jangan pernah menaruh Password di sini, karena bagian ini bisa di-decode (dibaca) oleh siapa saja dengan mudah!
- Signature (Biru): Ini adalah segel gemboknya. Bagian inilah yang dihitung oleh server menggunakan Secret Key untuk memastikan Payload-nya tidak diedit oleh Hacker di tengah jalan.
Kesimpulan
Saat ini, JWT adalah standar emas untuk mengamankan REST API, baik di aplikasi Web (React/Next.js) maupun aplikasi Mobile (Flutter/React Native). Simpanlah token JWT yang kamu terima dari server di LocalStorage atau HttpOnly Cookies secara aman di sisi Frontend.
Mau langsung pakai template?
Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.
Browse Templates