Устанавливаем Laravel Passport для Laravel версии 5.7

1/24/2021, phplaravelpassport

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;
    }   
1
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)

Last Updated: Invalid Date