Authentikasi pada Laravel - Perwira Learning Center

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:

  1. User login dengan email dan password

  2. Server memverifikasi, lalu membuat token khusus untuk user tersebut

  3. Token dikirim kembali ke user

  4. 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:

Uploading: 298256 of 298256 bytes uploaded.

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 mengenkripsinya

  • Buat 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 database

  • Jika 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:

Testing Login

Request:

Catatan Penting:
Perhatikan bahwa token yang dihasilkan saat login dan simpan token tersebut agar dapat logout.

Testing Logout

Request:

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/