Laravel Passport provides OAuth2 server support to Laravel.
Laravel Passport adalah package resmi Laravel yang menyediakan implementasi lengkap server OAuth2 untuk aplikasi Laravel Anda. Passport memudahkan pengembang dalam mengimplementasikan sistem autentikasi API yang aman dan terstandar.
OAuth2 adalah protokol autentikasi yang memungkinkan aplikasi pihak ketiga mendapatkan akses terbatas ke layanan HTTP atas nama pemilik resource. Dengan OAuth2, pengguna dapat memberikan izin kepada aplikasi pihak ketiga untuk mengakses data mereka tanpa harus membagikan kredensial mereka secara langsung.
composer require laravel/passport
php artisan migrate
php artisan passport:install
Tambahkan HasApiTokens trait ke model User:
use Laravel\Passport\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
}use Laravel\Passport\Passport;
class AuthServiceProvider extends ServiceProvider
{
public function boot()
{
$this->registerPolicies();
Passport::routes();
}
}php artisan passport:client
Route::middleware('auth:api')->group(function () {
Route::get('/user', function (Request $request) {
return $request->user();
});
});$response = $http->post('http://your-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'username' => 'user@example.com',
'password' => 'password',
'scope' => '',
],
]);Laravel Passport menyediakan solusi autentikasi API yang komprehensif dan aman. Dengan fitur-fitur seperti OAuth2, personal access tokens, dan token management, Passport memudahkan pengembang dalam mengimplementasikan sistem autentikasi yang robust untuk aplikasi mereka. Pilihan antara Passport dan Sanctum harus didasarkan pada kebutuhan spesifik proyek Anda. Pastikan untuk selalu mengikuti best practices keamanan dan melakukan update regular untuk mendapatkan fitur terbaru dan patch keamanan.