wildan aizzaddin

JSON Web Token [JWT]

September 11, 2024

:wildanaizzaddin

Apa itu JSON?

Sebelum membahas tentang apa itu JSON Web Token atau JWT, lebih baik kita membahas terlebih dahulu apa sih itu JSON sebenarnya. JSON (JavaScript Object Notation) adalah sebuah format data yang digunakan untuk pertukaran dan penyimpanan data. Biasanya, JSON digunakan pada saat melakukan pertukaran data antara client & server melalui API. JSON menggunakan struktur data berbasis teks yang terdiri dari pasangan key & value dalam object dan list. Object dalam JSON diawali dan diakhiri dengan kurung kurawal dan berisi pasangan key & value yang dipisahkan oleh tanda koma. Sedangkan list dalam JSON diawali dan diakhiri dengan tanda kurung siku [ ] dan berisi value yang dipisahkan oleh tanda koma juga.

Pengertian JSON dan Format JSON

Dengan menggunakan JSON, data dapat dikirimkan antara server dan client dalam bentuk yang sederhana dan efisien. JSON juga mendukung berbagai tipe data seperti string, angka, boolean, object, dan list. Hal ini membuat JSON menjadi pilihan yang populer dalam pengembangan aplikasi web dan layanan web API.

JSON Web Token

Gimana? udah paham kan tentang apa itu JSON? Nah, sekarang kita akan mulai bahas apasih itu JSON Web Token atau JWT itu.

JSON Web Token adalah sebuah standar yang digunakan untuk mengirimkan informasi secara aman dan rahasia antara pihak-pihak yang terpercaya. Simple nya, JSON Web Token digunakan buat memvalidasi apakah pihak yang ingin mengakses data dari server adalah pihak yang berhak dan terpercaya. JWT menggunakan format JSON untuk mengenkripsi dan memvalidasi data yang dikirimkan antara client dan server. JWT terdiri dari tiga bagian, yaitu header, payload, dan signature.

JWT sering digunakan dalam sistem autentikasi dan otorisasi pada aplikasi web dan layanan web API.

Jika dilihat dari gambar di atas, text berwarna merah merupakan header yang berisi algoritma yang digunakan yaitu HS256. Selanjutnya, text berwarna ungu merupakan payload yang berisikan data. Pada gambar di atas, contoh payload yang digunakan berisikan id pengguna, nama pengguna dan IAT atau Issued At (waktu token dikeluarkan). Data yang terdapat pada payload dapat disesuaikan sesuai dengan kebutuhan. Yang terakhir adalah signature. Signature pada JWT adalah sebuah tanda tangan digital yang digunakan untuk memverifikasi integritas dan keaslian token. Signature ini dibuat dengan menggunakan algoritma kriptografi yang telah ditentukan, seperti HMAC atau RSA. Dengan menggunakan signature, pihak yang menerima token dapat memastikan bahwa token tersebut tidak diubah oleh pihak yang tidak berwenang dan berasal dari sumber yang terpercaya.