Tutorial Laravel Sanctum dan Vue Js Authentication #2 - Installasi dan Konfigurasi Laravel Sanctum


Tutorial Laravel Sanctum dan Vue Js Authentication #2 - Installasi dan Konfigurasi Laravel Sanctum

Halo teman-teman semuanya, sebelumnya kita sudah berhasil membuat project Laravel dan meng-konfigurasi database-nya. Sekarang kita lanjutkan untuk menginstall package Laravel Sanctum dan melakukan konfigurasinya.

Langkah 1 - Installasi Laravel Sanctum

Silahkan jalankan perintah di bawah ini di dalam project Laravel.

composer require laravel/sanctum

Silahkan ditunggu proses installasinya sampai selesai dan pastikan harus terhubung dengan internet.

Langkah 2 - Konfigurasi Laravel Sanctum

Setelah installasi Laravel Sanctum selesai, silahkan jalankan perintah di bawah ini untuk melakukan publish konfigurasi dan membuat migration dari Laravel Sanctum.

php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"

Jika perintah di atas berhasil, kita akan dibuatkan 2 file yaitu

  • config/sanctum.php
  • database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php

Langkah selanjutnya adalah menambahkan Api Middleware di dalam Kernel. Silahkan buka file app/Http/Kernel.php kemudian tambahkan kode berikut ini :

use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful; // <— paste di atas class Kernel
'api' => [
    EnsureFrontendRequestsAreStateful::class, // <— ini kode yang ditambahkan
    'throttle:60,1',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

Kemudian selanjutnya kita akan gunakan Traits dari Laravel Sanctum di dalam model User. SIlahkan buka file app/User.php kemudian tambahkan kode berikut ini :

use Laravel\Sanctum\HasApiTokens; // <— paste di atas class User

Dan ubah kode berikut ini

use Notifiable;

Menjadi seperti berikut ini :

use Notifiable, HasApiTokens;

Langkah 3 - Konfigurasi CORS Endpoint

Sekarang kita akan menambahkan beberapa endpoint di dalam CORS config agar nanti bisa digunakan di project Vue Js. Silahkan buka file config/cors.php ubah pada bagian path menjadi seperti berikut ini :

'paths' => [
    'api/*',
    '/login',
    '/logout',
    '/sanctum/csrf-cookie'
],

Kemudian ubah juga bagian supports_credentials menjadi true

'supports_credentials' => true

Setelah itu silahkan buka file .env dan tambahkan kode berikut ini :

SANCTUM_STATEFUL_DOMAINS=localhost:8000

Dan ubah bagian session domain dan driver di dalam file .env menjadi seperti berikut ini :

SESSION_DRIVER=cookie
SESSION_DOMAIN=localhost

Langkah 4 - Membuat Data Seeder User

Selanjutnya kita akan membuat data seeder user yang akan kita gunakan untuk melakukan login di project nanti. Jalankan perintah di bawah ini untuk membuat data seeder.

php artisan make:seed UserTableSeeder

Jika berhasil kita akan mendapatkan file baru di dalam folder database/seeds/UserTableSeeder.php kemudian buka file tersebut dan ubahlah menjadi seperti berikut ini :

<?php

use App\User;
use Illuminate\Database\Seeder;

class UserTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        User::create([
            'name'      => 'Fika Ridaul Maulayya',
            'email'     => 'admin@gmail.com',
            'password'  => bcrypt('password')
        ]);
    }
}

Setelah itu kita register seeder kita di atas di dalam database seeder. Silahkan buka file database/seeds/DatabaseSeeders.php dan kemudian silahkan ubah pada function run menjadi seperti berikut ini :

public function run()
{
    $this->call(UserTableSeeder::class);
}

Setelah itu jalankan perintah di bawah ini untuk melakukan autoload dump.

composer dump-autoload

Langkah 5 - Menjalankan Migration dan Seeder

Silahkan jalankan perintah di bawah ini untuk melakukan migration dan sekaligus menjalankan seeder.

php artisan migrate --seed

flag --seed di atas artinya kita juga akan melakukan proses seeder

Sekarang teman-teman bisa coba cek di dalam database, maka kita sudah mendapatkan beberapa table dan 1 data user di dalam table user


EBOOK MEMBANGUN WEBSITE SEKOLAH DENGAN LARAVEL, VUE JS DAN BOOTSTRAP 5 : https://bit.ly/ebook-laravel-vue-js


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami