Устанавливаем Laravel Passport для Laravel версии 5.7
Laravel отличный фреймворк для веб разработки, который содержит кучу различных
дополнений, которые делают ее супер быстрой и удобной.
Когда требуется организовать авторизацию для мобильного приложения на сайте и
разграничения доступа на уровне laravel я использую Laravel Sanctum. Но если
используется Laravel 5 версии, Sanctum не будет работать и лучше использовать
Laravel Passport.
Ниже короткая инструкция как установить Laravel Passport:
В виду того, что используется версия Laravel 5.7, укажем конкретную версию Laravel Passport:
composer require laravel/passport "7.5.1"
Прописываем сервис-провайдер Passport в providers в config/app.php:
Laravel\Passport\PassportServiceProvider::class,
Запускаем миграции и устанавливаем Laravel Passport:
php artisan migrate
php artisan passport:install
ПРИМЕЧАНИЕ. Если в модели Users в качестве идентификатора пользователя используется uuid(у него тип varchar в базе)
нужно во всех таблицах oauth_* у которых client_id есть, изменить тип поля с big_int на varchar 256(сделать миграцию в Laravel для этого)
В модели Users добавить Laravel\Passport\HasApiTokens как в примере ниже
<?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;
}
2
3
4
5
6
7
8
9
10
11
12
Далее все согласно документации https://laravel.ru/docs/v5/passport (opens new window)
Для тестирования авторизации и методов API рекомендую использовать Insomnia (opens new window)