Konsep Autentikasi Berbasis Token
Apa Itu Token-Based Authentication?
Token-based authentication adalah cara memverifikasi identitas user menggunakan token (semacam kode rahasia unik) sebagai pengganti username dan password yang dikirim terus-menerus.
Cara kerjanya sederhana:
User login dengan email dan password
Server memverifikasi, lalu membuat token khusus untuk user tersebut
Token dikirim kembali ke user
Untuk request selanjutnya, user cukup mengirim token ini (tanpa perlu kirim email & password lagi)
Bearer Token
Bearer token adalah jenis token yang paling umum di REST API. Istilah "bearer" berarti "pembawa" - siapapun yang membawa token ini dianggap sebagai pemiliknya.
Token ini dikirim melalui header HTTP dengan format:
Authorization: Bearer 1|sjdflksjflksdjflksjflksjflksjf
Menyiapkan Model User untuk Autentikasi Token
Langkah pertama, kita perlu mempersiapkan model User agar bisa menghasilkan token. Laravel Sanctum menyediakan trait HasApiTokens yang sangat memudahkan kita.
Dengan menambahkan HasApiTokens, model User kita sekarang memiliki kemampuan untuk:
Membuat token baru dengan method
createToken()Mengelola token-token yang dimiliki
Menghapus token yang tidak diperlukan
Membuat Register
Pertama, kita buat dulu controller untuk menangani autentikasi:
php artisan make:controller AuthController
Kemudian kita buat method register:

Penjelasan alur register:
Validasi: Pastikan data yang dikirim sesuai aturan (nama harus ada, email unik, password minimal 8 karakter dan harus sama dengan password_confirmation)
Hash password: Jangan pernah menyimpan password asli! Kita gunakan
Hash::make()untuk mengenkripsinyaBuat token: Setelah user tersimpan, kita langsung buatkan token menggunakan
createToken()Response: Kembalikan data user dan token. Token inilah yang nanti akan digunakan untuk request-request berikutnya
Membuat Login
Masih di controller yang sama, kita tambahkan method login:
Penjelasan alur login:
Validasi input email dan password harus ada
Cari user berdasarkan email yang dikirim
Verifikasi password menggunakan
Hash::check()- method ini akan membandingkan password input dengan password yang sudah di-hash di databaseJika cocok, buat token baru untuk user tersebut
Kembalikan token ke client
Membuat Logout
Method logout akan menghapus token yang sedang digunakan:
Mengapa perlu logout?
Membatasi jumlah token aktif
Mencegah penyalahgunaan token jika perangkat hilang
Menjaga keamanan user
Membuat Route
Sekarang kita daftarkan route untuk endpoint yang sudah kita buat di routes/api.php:
Perhatikan:
Route register dan login tidak perlu middleware karena memang untuk mendapatkan token
Route logout butuh middleware karena harus tahu user mana yang logout
Testing dengan Postman
Kita akan coba test apakah untuk authentikasi sudah bisa digunakan, disini saya menggunakan Postman.
Testing Register
Request:
Method: POST
Headers: Content-Type: application/json
Testing Login
Request:
Method: POST
Headers: Content-Type: application/json
Catatan Penting:
Perhatikan bahwa token yang dihasilkan saat login dan simpan token tersebut agar dapat logout.
Testing Logout
Request:
Method: POST
Headers:
Content-Type: application/json
Authorization: pilih bearer token dan masukkan token yang didapat saat login
Response:
Kesimpulan
Autentikasi merupakan komponen penting dalam pengembangan aplikasi menggunakan Laravel. Dengan menerapkan sistem login, pengelolaan sesi atau token, serta middleware pembatas akses, aplikasi dapat berjalan dengan lebih aman dan terkontrol.
Pemahaman mengenai autentikasi memberikan dasar yang kuat dalam membangun sistem yang profesional dan siap digunakan dalam lingkungan nyata, terutama pada aplikasi yang melibatkan banyak pengguna dan data sensitif.
daftar pustaka
Laravel. (n.d.). Authentication. Diakses pada 27 Februari 2026, dari https://laravel.com/docs/authenticatio
Laravel. (n.d.). Laravel Sanctum. Diakses pada 27 Februari 2026, dari https://laravel.com/docs/sanctum
Laravel. (n.d.). HTTP middleware. Diakses pada 27 Februari 2026, dari https://laravel.com/docs/middleware
Niagahoster. (2023). Cara menggunakan Laravel Sanctum untuk autentikasi API. Diakses pada 27 Februari 2026, dari https://www.niagahoster.co.id/blog/laravel-sanctum/
Petani Kode. (2022). Membuat login API dengan Laravel dan Sanctum. Diakses pada 27 Februari 2026, dari https://www.petanikode.com/laravel-sanctum/
Codepolitan. (2022). Implementasi REST API authentication di Laravel. Diakses pada 27 Februari 2026, dari https://www.codepolitan.com/