¶Pendahuluan
Pada project kali ini kita akan membuat sebuah REST API Authentikasi menggunakan Laravel Sanctum. Apa sih Laravel Sanctum itu ?
Laravel Sanctum itu package dari Laravel yang dipakai buat autentikasi yang simpel, khususnya kalau teman - teman lagi bikin aplikasi berbasis single-page applications (SPA), mobile apps, atau API yang pakai token. Sanctum ini mempermudah kita untuk pakai token API tanpa ribet, nggak kayak OAuth yang lebih kompleks. Selain itu, Sanctum juga bisa dipakai buat autentikasi berbasis session di SPA, jadi cocok buat aplikasi modern yang pakai frontend seperti React atau Vue.
Setelah mengetahui secara singkat, apa itu Laravel Sanctum ? disini kita akan lanjutkan untuk melakukan proses installasi Laravel Sanctum pada project kita.
¶Installasi Laravel Sanctum
Silahkan teman - teman buka terminal-nya, kemudian silahkan jalankan perintah seperti berikut ini, dan pastikan terminal sudah mengarah ke project rest-api-sanctum
.
Terminal
php artisan install:api
Setelah proses installasi berhasil kita akan mendapatkan beberapa file baru diantaranya sebagai berikut :
-
config/sanctum.php
-
database/migrations/2024_10_12_015608_create_personal_access_tokens_table.php
-
routes/api.php
Selanjutnya teman - teman bisa jalankan perintah berikut ini untuk mengenerate tabel baru yang telah disedikan oleh laravel sanctum.
Terminal
php artisan migrate:fresh
¶Setup Model User
Setelah berhasil melakukan installasi, kita lanjutkan dengan melakukan setup model yang akan kita gunakan untuk authentikasi, disini kita akan menggunakan model user
. Silahkan teman - teman buka model User.php
yang terletak di app/models
, kemudian ubah kodenya menjadi berikut ini.
User.php
<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
/** @use HasFactory<\Database\Factories\UserFactory> */
use HasFactory, Notifiable, HasApiTokens;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
];
}
}
Pada kode diatas pertama - tama kita import terlebih dahulu laravel sanctum.
User.php
use Laravel\Sanctum\HasApiTokens;
Selanjutnya kita menggunakan trait HasApiTokens
, yang telah disediakan oleh laravel sanctum agar model tersebut bisa mengenerate sebuah token API.
User.php
use HasFactory, Notifiable, HasApiTokens;
¶Penutup
Setelah berhasil melakukan installasi dan setup Laravel Sanctum, pada artikel berikutnya kita akan lanjutkan untuk proses pembuatan module register, semoga bermanfaat terimakasih :)