Tutorial Laravel 12 JWT #2 Install Package JWT

Belajar autentikasi JWT (JSON Web Token) di Laravel 12 untuk membangun REST API yang aman dan scalable. Mulai dari konsep dasar JWT, install & konfigurasi paket, pembuatan endpoint login/register, proteksi route dengan middleware, refresh & revoke token, hingga best practice keamanan (token expiry, blacklist, rate limiting). Cocok untuk pemula yang ingin membuat backend API modern dengan Laravel.

✅ Telah dilihat 560 kali

Rating: 5.00 ⭐

... 03 September 2025, 20:09

Setelah memahami konsep JWT secara teori, sekarang kita masuk ke bagian praktik. Pada studi kasus kali ini, kita akan melanjutkan project sebelumnya — yaitu sebuah REST API di Laravel 12 pada paket belajar berikut:

https://lagikoding.com/series/tutorial-laravel-12-restful-api

Kalau masih ingat, di materi sebelumnya setiap endpoint bisa diakses secara bebas alias public. Artinya, siapa pun dapat melakukan request tanpa login terlebih dahulu.

Tentu ini berbahaya jika diterapkan pada sistem nyata. Ibarat rumah tanpa pintu: orang bisa masuk, keluar, bahkan mengambil barang sesuka hati.

Karena itu, di materi kali ini kita akan menambahkan benteng pengaman berupa JWT Authentication. Dengan JWT:

  • Endpoint yang sebelumnya public → akan berubah menjadi private.
  • Hanya user yang sudah login dan memiliki token sah yang berhak mengakses resource.

Instalasi Package JWT

Untuk implementasi JWT di Laravel, kita bisa menggunakan package populer tymon/jwt-auth. Package ini sudah lama menjadi pilihan utama developer Laravel ketika menambahkan otentikasi berbasis JWT.

Jalankan perintah berikut di terminal:

composer require tymon/jwt-auth

Perintah ini akan menambahkan package jwt-auth ke dalam project kita.


Publish Config

Setelah package berhasil di-install, kita perlu mem-publish file konfigurasi agar bisa disesuaikan dengan kebutuhan project.

Jalankan perintah:

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

Setelah itu, akan muncul file konfigurasi baru di folder:

config/jwt.php

File ini berisi pengaturan seperti:

  • Lama waktu token aktif
  • Blacklist token
  • Algoritma enkripsi yang digunakan

Generate Secret Key

JWT membutuhkan secret key untuk membuat signature pada token. Tanpa kunci ini, token tidak akan valid.

Buat secret key dengan perintah:

php artisan jwt:secret

Perintah ini akan menghasilkan string acak, lalu menyimpannya ke file .env dengan nama:

JWT_SECRET=xxxxxxx

Inilah kunci rahasia yang akan dipakai Laravel untuk mengenkripsi dan memvalidasi token JWT.

Daftar eBook