LATIHAN PRAKTIKUM PEMROGRAMAN WEB
BAB : JWT (JSON Web Token)
NAMA : ANDI SEKAR AYU FADILLA
NIM : 205150700111019
ASISTEN : 1. FARHAN HISBULLAH A’ISYI BASUKI 2. RIFQI HILMY ZHAFRANT
TGL PRAKTIKUM : 15 NOVEMBER 2022
1. PENYESUAIAN DATABASE
a. Melakukan perubahan pada length kolom token dengan menghapus parameter 72
Hal tersebut dilakukan agar jumlah karakter pada token dapat melebihi 72.
b. Melakukan pembaharuan migrasi
Berfungsi untuk menghapus seluruh data yang telah ada sebelumnya.
c. Menjalankan aplikasi pada endpoint dengan memasukkan user
baru
Data berhasil ditambahkan pada database.
2. JWT MANUAL
a. Menambahkan fungsi baru pada file AuthController.php
Fungsi base64url_encode dibuat agar data yang dimasukkan menjadi format base64. Fungsi sign dibuat agar payload, header dan secret key yang dimasukkan berubah menjadi format base64. Fungsi jwt dibuat agar dapat memanggil fungsi sebelumnya dan akan dilakukan encode lagi.
b. Melakukan perubahan pada fungsi login
Membuat algoritma JWT untuk token yang mana nantinya akan disimpan pada database.
c. Menambah fungsi pada file Authorization.php
Fungsi-fungsi tersebut dibuat untuk melakukan encode, decode dan melakukan verify.
d. Melakukan perubahan pada fungsi handle
Di bagian handle ini ketika dijalankan akan memecah header, payload, signature dengan menggunakan fungsi explode yang selanjutnya akan dilakukan decode dan akan dilakukan pengecekan algoritma.
e. Menjalankan aplikasi pada endpoint
Berhasil melakukan login dan mendapatkan token secara otomatis.
f. Menjalankan aplikasi pada endpoint dengan memasukkan token yang telah didapatkan
Berhasil melakukan login karena sesuai dengan token yang didapatkan sebelumnya.
3. JWT LIBRARY
a. Melakukan generate jwt key secara online
Melakukan generate secara online lalu membuat variabel baru pada file .env
b. Melakukan instalasi package jwt firebase
Berhasil melakukan instalasi.
c. Menambahkan fungsi baru pada file AuthController
Fungsi jwt akan membuat payload. Lalu payload akan di encode.
d. Melakukan perubahan fungsi pada login
Fungsi yang diubah tersebut akan mengambil token yang berdasarkan fungsi jwt dan akan disimpan pada database.
e. Membuat file JwtMiddleware.php
Berfungsi untuk melakukan request token pada header apakah token tersebut ada atau tidak. Jika tidak ada atau berbeda maka akan terjadi error dan tidak dapat melakukan login.
f. Mendaftarkan middleware yang telah dibuat pada bootstrap/app.php
Berfungsi agar middleware yang telah dibuat dapat dijalankan.
g. Menambahkan baris baru pada file web.php
Berfungsi untuk menyesuaikan nama router agar dapat berjalan pada endpoint.
h. Menjalankan aplikasi pada endpoint /auth/login.
Berhasil melakukan login dan terdapat token.
i. Menjalankan dengan memasukkan token yang telah didapatkan
Berhasil melakukan login dengan memasukkan token yang telah didapatkan