Паспорт Laravel, показывающий это при попытке доступа к ресурсу
Key path "file://C:\xampp\htdocs\rental_5.0\storage\oauth-public.key" does not exist or is not readable
Паспорт Laravel, показывающий это при попытке доступа к ресурсу
Key path "file://C:\xampp\htdocs\rental_5.0\storage\oauth-public.key" does not exist or is not readable
Вы не указываете свои шаги по установке. Предположим, вы сделали следующее:
composer require laravel/passport
Зарегистрируйте поставщика услуг внутри config/app.php
Laravel\Passport\PassportServiceProvider::class,
Запуск миграции
php artisan migrate
Наконец, сгенерируйте ключи, используя
php artisan passport:install
Я вижу, что вы пытаетесь использовать Windows. Я заметил, что проблема OpenSSL в Windows может помочь вам.
OpenSSL не был установлен на моем компьютере Windows
bin/openssl.exe
в каталог пути переменной окружения (вы можете создать свою собственную папку bin в своей папке пользователя или что-то еще и добавить этот путь к переменной пути)php artisan passport:install
https://github.com/laravel/passport/issues/48#issuecomment-241936338
В окнах с помощью git BASH
вам не нужно устанавливать какое-либо дополнительное программное обеспечение только запустите php artisan passport:install
из BASH
, и он должен работать.
Я использую 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.
Это решило проблему, теперь все хорошо и на Героку.
(Все в порядке, есть те же ключи здесь и там?)
Мы получаем эту ошибку, потому что passport
установлен неправильно
Решение простое, просто запустите эту команду:
php artisan passport:install
Это потому, что вы не генерировали ключи Oauth, используя ключи паспорта.
Бежать
php artisan passport:keys
После этого выполните следующую команду, чтобы сгенерировать клиент личного доступа.
php artisan passport:client --personal
Введите детали, которые вас спрашивают. Тогда вы сделали.
Произошла такая же ошибка с Ubuntu, и в моем случае проблема была с разрешениями, при этом это разрешило проблему:
sudo chown www-data:www-data storage/oauth-*.key
Я вручную установил свое значение password_client
в таблице oauth_clients
1
и это сработало.
Все работало нормально в локальной системе, столкнулся с той же проблемой в производственной системе. В моем случае git игнорировал ключи по уважительной причине. Только что выполнил php artisan passport:keys
на рабочем сервере все работало.
Может быть, storage/oauth-private.key
и storage/oauth-private.key
отсутствует, и вы импортировали старую базу данных. Для этого сценария, пожалуйста, выполните следующую команду.
php artisan passport:keys
Попробуйте это решение, если вы импортировали старую базу данных, в которой данные, связанные с паспортом, уже сохранены. В противном случае следуйте принятому ответу.
Я не знаю, является ли это идеальным решением, но удаление /storage/*.key
из .gitignore
затем нажатие сделали .gitignore
дело для меня.
В моем случае это просто не работает - я пытаюсь каждый раз - возможно, проблема с доступом к файлу (однако ls -la
выглядит нормально) - поэтому я генерирую эти ключи на другом компьютере и копирую в serwer - и php artisan passport:install
начинает работать