Hallo, Kreatif Readers! Laravel Sanctum adalah salah satu package autentikasi dari Laravel yang dirancang khusus untuk menyediakan layanan autentikasi dan otorisasi untuk aplikasi berbasis RESTful API. Laravel Sanctum menggunakan token yang memperbolehkan 1 user memiliki beberapa token dengan batasan/scope yang berbeda-beda. Hal tersebut dapat digambarkan seperti ilustrasi berikut
Fitur utama dari Laravel Sanctum adalah sebagai berikut:
1. API Token Authentication
Sanctum memungkinkan aplikasi untuk generate token API yang nantinya digunakan untuk mengakses API yang dilindungi. Setiap token dapat memiliki scope yang berbeda, tergantung pengaturan batasan API yang telah ditentukan
2. SPA Authentication
Sanctum juga mendukung autentikasi untuk SPA. Dengan menggunakan Laravel sebagai backend dan framework JavaScript modern seperti Vue.js atau React di frontend, Sanctum dapat mengelola otentikasi pengguna melalui cookie-based session.
3. Mobile Application Authentication
Selain untuk SPA, Sanctum juga dapat digunakan untuk autentikasi aplikasi mobile, memberikan fleksibilitas lebih dalam mengelola akses pengguna di berbagai platform.
Penggunaan Laravel Sanctum
1. Installasi dan konfigurasi
Install menggunakan composer
composer require laravel/sanctum
Publish konfigurasi sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
Migrasi tabel yang dibutuhkan sanctum
php artisan migrate
2. Penggunaan API Token
Panggil method createToken
pada model User:
$token = $user->createToken('token-name')->plainTextToken;
Token ini kemudian bisa digunakan untuk autentikasi request API dengan menyertakannya pada header Authorization
:
Authorization: Bearer <token>
3. Autentikasi SPA
Untuk SPA, Sanctum menggunakan session-based authentication. Pertama, konfigurasikan middleware pada file api.php
:
Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); });
Studi Kasus penggunaan Laravel Sanctum
Beberapa perusahaan dan startup menggunakan Laravel Sanctum untuk menangani autentikasi API karena kemudahan dan keamanannya. Bentuk penggunaannya adalah penerpana autentikasi pada proses jual beli, dimana data yang diproses merupakan data konfidental seperti nomor telepon, nomor rekening, alamat, dll.
Reference: [1] Tampilan IMPLEMENTASI WEB SERVICE DENGAN METODE RESTFUL PADA SISTEM PENJUALAN BARANG DI PT. WELLCOMM GROUP (budiluhur.ac.id) [2] Laravel Sanctum - Laravel 11.x - The PHP Framework For Web Artisans