паспорт laravel не работает в laravel 5.8

#php #mysql #laravel-5.8 #laravel-passport

#php #mysql #laravel-5.8 #laravel-passport

Вопрос:

Я пытаюсь установить laravel passport на свой веб-сайт laravel 5.8, чтобы реализовать oauth2 и токен доступа для запросов API. Я запустил эту команду, composer require laravel/passport но я получаю ошибку, и я знал, что последняя версия Laravel Passport прекратила поддержку Laravel 5.8, поэтому я попытался установить более раннюю версию passport с помощью этой команды composer require laravel/passport:7.5.1 , теперь я установил, но затем, когда я запускаю следующую команду php artisan migrate , я получаю следующую ошибку —

Выполняется миграция: 2016_06_01_000001_create_oauth_auth_codes_table

Исключение IlluminateDatabaseQueryException: SQLSTATE[HY000]: Общая ошибка: Поле ‘id’ 1364 не имеет значения по умолчанию (SQL: вставить в migrations ( migration , batch ) значения (2016_06_01_000001_create_oauth_auth_codes_table, 2))

Я проверил базу данных и увидел только одну таблицу, созданную oauth_auth_codes, после ошибки я не продолжил выполнение команды php artisan passport:install .

Итак, какие шаги я предпринимаю, чтобы установить laravel passport на мой веб-сайт laravel 5.8 со всеми необходимыми таблицами??. Так что я реализую сервер oauth2 и токены, когда запрос поступает на конечные точки моего сайта laravel API. Пожалуйста, ответьте подробнее, это сложный проект, который у меня сейчас есть.

Комментарии:

1. Можете ли вы показать свою миграцию?

2. @sobir извините, что показать? я зашел в базу данных-> папка миграции, и я не вижу никакого файла 2016_06_01_000001_create_oauth_auth_codes_table

3. Эксперты, пожалуйста.

Ответ №1:

С версией Laravel 5.8 установка passport в соответствии с документацией laravelhttps://laravel.com/docs/5.8/passport#introduction не будет завершено. Что вам нужно иметь для успешного запуска passport в laravel 5.8, пожалуйста, выполните следующие действия:

  1. Установите Passport (вы это уже сделали) с помощью: composer требует laravel / passport:7.5.1.

введите описание изображения здесь

  1. Теперь перед переносом: поместите приведенный ниже код в composer.json как: «paragonie / random_compat»: «2.*» . Вы также можете видеть на рисунке ниже. введите описание изображения здесь

  2. Теперь вам нужно написать в терминале как : composer update (теперь все готово). введите описание изображения здесь

  3. теперь php artisan мигрирует. введите описание изображения здесь

  4. php artisan passport: установить введите описание изображения здесь

Спасибо. Я уверен, что это сработает для вас. 🙂

Комментарии:

1. дайте мне знать, Кару Рой, решило ли это вашу проблему?

2. Тем не менее, я получил ту же ошибку!. Что на самом деле делает пакет paragonie / random_compat? и запуск команды composer update обновил многие зависимые пакеты, что тоже рискованно.

3. как я уже говорил выше, в laravel 5.8 паспорт не может быть установлен непосредственно после документации. Так что пакет paragonie / random_compat является обязательным для использования драйвера passport. Все в порядке, если вы не хотите использовать обновление composer. Вы можете просто использовать composer require paragonie/random_compat:>= 2 для получения дополнительной информации: github.com/paragonie/random_compat когда проблема будет решена, поставьте мне зеленую галочку, сэр :). Спасибо

4. да, я знаю, но я протестировал способ, который вы сказали, используя команду composer update, но ошибка все еще появляется!

5. вам следует выполнить новую установку passport, иначе в вашем коде появятся другие ошибки