Using Laravel Breeze for Simple and Secure API Authentication
Laravel Breeze adalah pengimplementasian sistem otentikasi yang sederhana dan minimal untuk aplikasi Laravel. Ini memberikan kita titik awal untuk membangun sebuah aplikasi Laravel yang memerlukan otentikasi. Didalamnya sudah termasuk routes, controllers, and views untuk form login, form pendaftaran, dan form pengaturan ulang kata sandi, serta verifikasi email dasar dan fungsionalitas email pada saat melakukan pengaturan ulang kata sandi.
Untuk menggunakan autentikasi API dengan Laravel Breeze, kamu bisa menggunakan Laravel Passport. Passport adalah server OAuth2 dan paket otentikasi API yang dibangun di atas server League OAuth2. Ini menyediakan implementasi server OAuth2 penuh, serta sistem otentikasi API sederhana.
Install Passport
Untuk menginstal Passport, Anda dapat menggunakan Composer:
composer require laravel/passport
Selanjutnya, kamu dapat menjalankan perintah passport:install , yang akan membuat kunci enkripsi yang diperlukan untuk menghasilkan token akses yang aman. Ini juga akan membuat klien "akses pribadi" dan "pemberian kata sandi" yang akan digunakan untuk menghasilkan token akses:
php artisan passport:install
Migrasi Database
Setelah menginstal Passport diatas, kamu perlu menjalankan perintah migrasi untuk membuat tabel yang diperlukan dalam database :
php artisan migrate
Selanjutnya, kamu perlu menambahkan ini Laravel\Passport\HasApiTokens ke model App\User kamu. Ini akan memberikan beberapa metode pembantu ke model kamu yang memungkinkan kamu untuk memeriksa token dan cakupan pengguna yang diautentikasi:
<?php
namespace App;
use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
}
Dan terakhir, kamu perlu mendaftarkan Passport routes dengan memanggil metode Passport::routes kedalam metode boot App\Providers\AuthServiceProvider kamu. kamu harus menempatkan pemanggilan ini dalam metode boot sehingga routes terdaftar setelah AuthServiceProvider dimuat:
<?php
namespace App\Providers;
use Laravel\Passport\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 = [
// ...
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Passport::routes();
}
}
kamu sekarang sudah dapat menggunakan Passport untuk mengautentikasi Laravel Breeze API kamu.
Selesai.