Tutorial Laravel Rest API - #2 - Installasi Laravel Sanctum

Artikel ini merupakan series dari Tutorial Authentication Dengan Laravel Sanctum dan Unit Testing, disini kita akan mulai melakukan installasi laravel sanctum dan implementasi api token pada model user.

Rafi Taufiqurrahman
Dipublish 12/10/2024

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 :

  1. config/sanctum.php
  2. database/migrations/2024_10_12_015608_create_personal_access_tokens_table.php
  3. 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 :)

Series Artikel

Berikut ini daftar series artikel dari Tutorial Authentication Dengan Laravel Sanctum dan Unit Testing

JurnalKoding

Mulai asah skill dengan berbagai macam teknologi - teknologi terbaru seperti Laravel, React, Vue, Inertia, Tailwind CSS, dan masih banyak lagi.

© 2024 JurnalKoding, Inc. All rights reserved.