Apa Itu JWT (JSON Web Token)? Cara Kerja dan Implementasinya
Table of Contents
JWT atau Json Web Token adalah sebuah token berbasis standar industri yang di gunakan secara luas untuk melakukan otentikasi pertukaran informasi yang aman antara dua belah pihak. Json Web Token ini berfungsi untuk memastikan bahwa informasi yang di transfer adalah valid dan terjamin ke asliannya. Kali ini, CodeDadakan akan membahas lebih jauh tentang JWT ( Json Web Token ) dan cara kerjanya dan bagaimana cara mengimplementasikannya dalam website.
Apa Itu Json Web Token
Json Web Token ( JWT ) adalah sebuah krediansial atau token yang berbentuk string karakter random. biasanya terdiri dari 3 bagian yang di pisahkan oleh tanda titik (.), yaitu Header, Payload, Signature. Json Web Token ( JWT ) ini dapat di gunakan untuk menyimpan informasi dengan waktu tertentu tanpa harus menyimpan data pengguna pada sisi server.
Token JWT ini berisi informasi yang sudah di deskripsi dan di tandatangani sehingga data yang terdapat di dalamnya dapat terjaga dengan baik, dan tidak mudah di manipulasi.
Struktur JWT
Ada 3 bagian dalam struktur Json Web Token (JWT)
1. Header : Bagian header, berisi informasi tentang algoritma apa yang di gunakan untuk mengenkripsi data, seperti HMAC, RSA.
2. Payload : Ini adalah bagian struktur yang memuat data data tentang pengguna. Seperti ID Pengguna atau Email. Pada bagian ini, jangan memasukan data data yang penting karena dapat di baca oleh siapapun yang memiliki tokennya.
3. Signature : Signature adalah bagian yang terpenting dalam memverifikasi keaslian token. Terdapat secret-key di dalam signature yang telah di set oleh pembuat token dan signature ini di buat dengan cara menggabungkan header, payload dan secret-key menggunakan algoritma yang di tentukan oleh Header.
anda bisa lihat contoh JWT pada link ini
Cara Kerja JWT
1. User Login : Ketika user login memasukan email dan password, dan krediansial tersebut valid, maka server akan mengembalikan response yang berbentuk JWT ( Json Web Token )
2. Menyimpan Token : Setelah server mengembalikan response token yang berbentuk JWT dengan waktu valid yang tertentu, maka JWT tersebut akan di simpan di tempat yang aman seperti local storage atau session pada browser.
3. Mengirim Token : Setiap kali user melakuan request data yang telah di validasi oleh server, maka user harus mengirim token ini terlebih dahulu kepada server untuk di cek keaslian krediansialnya menggunakan permintaan HTTP.
4. Verifikasi Token : Token akan di validasi oleh server, apakah token tersebut masih valid atau sudah kadaluarsa dengan mengecek semua bagian struktur dalam token.
5. Akses di berikan : Jika token masih valid, maka request data yang di minta user akan di berikan oleh server. tapi jika token tersebut tidak valid, maka server akan mengembalikan response yang telah di atur oleh pembuat applikasi itu sendiri.
Implementasi JWT di Applikasi Web
Membuat JWT sangat mudah di lakukan dan dapat di terapkan di berbagai framework atau bahasa pemerograman. Berikut adalah langkah-langkah yang umum agar bisa membuat token JWT :
1. Cari Library JWT : Sudah banyak library yang tersedia untuk membuat token JWT, seperti jwt-simple untuk bahasa pemerograman python, java-jwt untuk Java. Silahka pilih library sesuai dengan bahasa pemerograman yang anda gunakan.
2. Membuat JWT : Buat JWT dengan menentukan header, payload dan signature menggunakan secret-key yang aman
3. Simpan dan Kirim Token : Setelah JWT di buat, kirim token tersebut ke client agar bisa di simpan ke dalam local storage atau session.
4. Verifikasi Token : Verifikasi keaslian token setiap client melakukan request data ke dalam server.
Keuntungan Menggunakan JWT
- Stateless : Json Web Token bersifat Stateless, sehingga server tidak perlu menyimpan data data pengguna agar meningkatkan skalabilitas applikasi
- Keamanan : Json Web Token memungkinkan untuk mengirim data secara aman, karena token itu sendiri sudah di enkripsi dengan baik menggunakan algoritma yang telah di tentukan.
- Efisien : Json Web Token sangat mudah di implementasikan.
Kesimpulan
JWT (JSON Web Token) adalah solusi yang efektif untuk otentikasi dan pertukaran data secara aman di aplikasi web. Dengan memahami cara kerja dan implementasinya, developer dapat membuat aplikasi yang lebih aman dan efisien. Jika Anda ingin meningkatkan keamanan aplikasi web Anda, penggunaan JWT adalah pilihan yang tepat.
Jangan lupa bagikan tulisan ini jika bermanfaat ya.
Posting Komentar