JSON Web Token
Last updated
Was this helpful?
Last updated
Was this helpful?
Autentikasi token merupakan jenis autentikasi yang sering digunakan pada webservice, cara kerjanya yaitu server menyimpan sebuah token berupa random string yang dipasangkan pada satu akun.
Setelah client melakukan login dengan akun tertentu maka server akan memberikan token dari akun tersebut yang nantinya akan disimpan oleh client
Kemudian setiap kali client mengirimkan request maka token tersebut perlu disertakan sebagai penanda bahwa client tersebut sudah terautentikasi
JSON Web Token atau disingkat JWT merupakan pengembangan dari metode autentikasi token, dimana server tidak perlu lagi menyimpan token di database
Token yang diberikan ke client bukan lagi berupa random string, namun berupa data user yang sudah login dan dienkripsi menjadi string
Client melakukan login
Apabila username dan password benar, maka server akan memberikan data dari akun tersebut kedalam sebuah token dan memberikannya ke client
Setelah client menerima token maka token tersebut harus selalu dikirim setiap kali client melakukan request ke server
Server akan mengecek token, apabila token valid maka request dari client akan diterima, jika tidak valid maka request akan ditolak
Disini kita akan belajar bagaimana menerapkan jwt pada web service menggunakan express
Untuk mengimplementasikan json web token kita membutuhkan package yang bernama jsonwebtoken
Pada tutorial ini kita hanya membutuhkan dua rute, yaitu /login
untuk mengautentikasi client, dan /
untuk mengirimkan data user apabila client telah melakukan login
Untuk melakukan autentikasi, pertama kita memeriksa username dan password yang dikirimkan oleh client, apabila benar maka kita akan membuat token menggunakan jwt.sign()
dengan menyertakan data dari akun yang bersangkutan dan memberikan token tersebut ke client
Sekarang kita akan membuat middleware yang bernama verifyToken
yang akan memeriksa token yang dikirimkan oleh client menggunakan jwt.verify
, apabila valid maka server akan mengubah token tersebut menjadi data user dan memasukkannya sebagai properti ke objek req
Setelah middleware verifyToken
dibuat, kita tinggal menerapkannya ke route /
Berikut link menuju source code dari tutorial diatas :