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