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