Situatie
Vom presupune ca doriti sa utilizati laravel Passport.
Solutie
Pentru a începe, instalați Passport prin managerul de pachete Composer:
composer require laravel/passport |
Furnizorul de servicii al lui Passport înregistrează propriul director de migrare a bazei de date, așa că ar trebui să migrați baza de date după instalarea pachetului. Migrațiile Passport vor crea tabelele de care aplicația dvs. are nevoie pentru a stoca clienții OAuth2 și token-urile de acces:
php artisan migrate |
Apoi, ar trebui să executați comanda pasport:install Artisan. Această comandă va crea cheile de criptare necesare pentru a genera jetoane de acces securizat. În plus, comanda va crea clienți „acces personal” și „acordare parolă” care vor fi utilizați pentru a genera jetoane de acces:
php artisan passport:install |
După ce rulați comanda passport:install, adăugați caracteristica Laravel\Passport\HasApiTokens la modelul dvs. App\Models\User. Această trăsătură va oferi câteva metode de ajutor pentru modelul dvs. care vă permit să inspectați simbolul și domeniile utilizatorului autentificat. Dacă modelul dvs. utilizează deja trăsătura Laravel\Sanctum\HasApiTokens, puteți elimina acea trăsătură:
<?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; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; } |
În cele din urmă, în fișierul de configurare config/auth.php al aplicației dvs., ar trebui să definiți o gardă de autentificare API și să setați opțiunea de driver la pașaport. Acest lucru va instrui aplicația dvs. să folosească TokenGuard de la Passport atunci când autentificați solicitările API primite:
‘guards’ => [ ‘web’ => [ ‘driver’ => ‘session’, ‘provider’ => ‘users’, ], ‘api’ => [ ‘driver’ => ‘passport’, ‘provider’ => ‘users’, ], ], |
Leave A Comment?