Tutorial Laravel Passport dan Vue Js 3 #2 : Install Laravel Passport


Tutorial Laravel Passport dan Vue Js 3 #2 : Install Laravel Passport

Halo teman-teman semuanya, di artikel sebelumnya kita sudah berhasil membuat project baru menggunakan Laravel, di artikel kali ini kita semua akan belajar bagaimana cara menginstall dan meng-konfigurasi package Laravel Passport di dalam project Laravel kita.

Langkah 1 - Installasi Laravel Passport

Untuk menginstall Laravel Passport, silahkan teman-teman jalankan perintah di bawah ini di dalam terminal/CMD dan pastikan berada di dalam project Laravel.

composer require laravel/passport

Silahkan tunggu proses installasi sampai selesai dan pastikan harus terhubung dengan internet, karena semua paket akan di unduh secara online.

Langkah 2 - Konfigurasi Laravel Passport

Setelah proses installasi selesai, sekarang kita lanjutkan untuk melakukan konfigurasinya. Silahkan jalankan perintah di bawah ini untuk melakukan migrate table ke dalam database.

Ketika kita berhasil menginstall Laravel Passport, maka kita akan di sediakan migration database yang bisa teman-teman lihat di dalam folder vendor/laravel/passport/database/migrations. Dimana di dalamnya terdapat beberapa file migrasi yang digunakan untuk membuat beberapa table, seperti :

  • oauth_auth_codes
  • oauth_access_tokens
  • oauth_refresh_tokens
  • oauth_clients
  • oauth_personal_access_clients

Sekarang, kita akan menjalankan migrasi untuk melakukan generate table-table ke dalam database. Silahkan jalankan perintah berikut ini :

php artisan migrate

Sekarang, silahkan cek di dalam database, maka kita sudah mendapatkan beberapa table dari hasil migration.

Sekarang, kita lanjutkan untuk melakukan generate encryption key yang di butuhkan untuk keamanan token di Laravel Passport. Silahkan jalankan perintah berikut ini :

php artisan passport:install

Jika berhasil, maka akan mengenerate 2 Client ID, yaitu Personal Access Client dan Password Grant Client. Setelah menjalankan perintah di atas, sekarang kita lanjutkan untuk melakukan modifikasi di dalam file Model User.

Silahkan buka file App/Models/User.php, kemudian tambahkan Traits HasApiTokens dan jangan lupa untuk import Traits tersebut dari Laravel Passport.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;			// <-- import Traits Laravel Passport

class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable; // <-- gunakan Traits HasApiTokens
}

Selanjutnya, kita harus memanggil method Passport::routes di dalam method boot di AuthServiceProvider. Method ini akan digunakan untuk mendaftarkan beberapa route yang diperlukan untuk proses access token, menghapus token, dan lain-lain.

Silahkan buka file app/Providers/AuthServiceProvider.php dan ubah kode-nya menjadi seperti berikut ini :

<?php

namespace App\Providers;

use Laravel\Passport\Passport;		// <-- import Laravel Passport
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The policy mappings for the application.
     *
     * @var array
     */
    protected $policies = [
        // 'App\Models\Model' => 'App\Policies\ModelPolicy',
    ];

    /**
     * Register any authentication / authorization services.
     *
     * @return void
     */
    public function boot()
    {
        $this->registerPolicies();

        Passport::routes(); // <-- passport route
    }
}

Terakhir, di file konfigurasi config/auth.php, Kita harus mengatur opsi driver dari guard authentication api ke pasport.

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'passport', // <-- set dari "token" ke "passport"
        'provider' => 'users',
    ],
],

Sampai disini pembahasan tentang bagaimana cara installasi dan konfigurasi Laravel Passport di dalam project Laravel, di artikel selanjutnya kita semua akan belajar bagaimana cara membuat beberapa controller yang di gunakan untuk proses register dan login.

Terima Kasih


EBOOK - Membangun Toko Online Dengan Laravel, Vue Js dan Payment Gateway : https://bit.ly/lp-ebook-laravel-vue-payment-gateway


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