Laravel Passport Key path oauth-public.key не существует или не читается

Паспорт Laravel, показывающий это при попытке доступа к ресурсу

Key path "file://C:\xampp\htdocs\rental_5.0\storage\oauth-public.key" does not exist or is not readable

Ответ 1

Вы не указываете свои шаги по установке. Предположим, вы сделали следующее:

composer require laravel/passport

Зарегистрируйте поставщика услуг внутри config/app.php

Laravel\Passport\PassportServiceProvider::class,

Запуск миграции

php artisan migrate

Наконец, сгенерируйте ключи, используя

php artisan passport:install

Я вижу, что вы пытаетесь использовать Windows. Я заметил, что проблема OpenSSL в Windows может помочь вам.

Ответ 2

OpenSSL не был установлен на моем компьютере Windows

  • Загрузите GnuWi
  • Извлеките bin/openssl.exe в каталог пути переменной окружения (вы можете создать свою собственную папку bin в своей папке пользователя или что-то еще и добавить этот путь к переменной пути)
  • Откройте новую командную строку (у существующих могут быть не самые новые переменные среды)
  • Выполнить php artisan passport:install

https://github.com/laravel/passport/issues/48#issuecomment-241936338

Edited

В окнах с помощью git BASH вам не нужно устанавливать какое-либо дополнительное программное обеспечение только запустите php artisan passport:install из BASH, и он должен работать.

Ответ 3

Я использую Heroku. Насколько я знаю, Heroku добавляет поддержку OpenSSL по умолчанию (https://devcenter.heroku.com/articles/php-support).

Все вещи, такие как php artisan install:passport, запускались без каких-либо проблем, и мой проект также доступен в Интернете.

Когда я попросил php artisan route:list, я получил это исключение:

[LogicException]
  Key path "file:///app/storage/oauth-private.key" does not exist or is not readable

Что мне кажется таким же, как и выше.

Я сделал все так же успешно. После того, как эти шаги git показали, что у меня есть ключ, хранящийся в моей папке для хранения, поэтому я сделал и нажал их на Heroku.

Это решило проблему, теперь все хорошо и на Героку.

(Все в порядке, есть те же ключи здесь и там?)

Ответ 4

Мы получаем эту ошибку, потому что passport установлен неправильно

Решение простое, просто запустите эту команду:

php artisan passport:install

Ответ 5

Это потому, что вы не генерировали ключи Oauth, используя ключи паспорта.

Бежать

php artisan passport:keys

После этого выполните следующую команду, чтобы сгенерировать клиент личного доступа.

php artisan passport:client --personal

Введите детали, которые вас спрашивают. Тогда вы сделали.

Ответ 6

Произошла такая же ошибка с Ubuntu, и в моем случае проблема была с разрешениями, при этом это разрешило проблему:

sudo chown www-data:www-data storage/oauth-*.key

Ответ 7

Я вручную установил свое значение password_client в таблице oauth_clients 1 и это сработало.

Ответ 8

Все работало нормально в локальной системе, столкнулся с той же проблемой в производственной системе. В моем случае git игнорировал ключи по уважительной причине. Только что выполнил php artisan passport:keys на рабочем сервере все работало.

Ответ 9

Может быть, storage/oauth-private.key и storage/oauth-private.key отсутствует, и вы импортировали старую базу данных. Для этого сценария, пожалуйста, выполните следующую команду.

php artisan passport:keys

Попробуйте это решение, если вы импортировали старую базу данных, в которой данные, связанные с паспортом, уже сохранены. В противном случае следуйте принятому ответу.

Ответ 10

Я не знаю, является ли это идеальным решением, но удаление /storage/*.key из .gitignore затем нажатие сделали .gitignore дело для меня.

Ответ 11

В моем случае это просто не работает - я пытаюсь каждый раз - возможно, проблема с доступом к файлу (однако ls -la выглядит нормально) - поэтому я генерирую эти ключи на другом компьютере и копирую в serwer - и php artisan passport:install начинает работать