#laravel #laravel-passport
Вопрос:
Я работал над двумя приложениями laravel как частью более крупного приложения. Оба тестовых приложения находятся во внутренней сети. Когда пользователь добавляется в приложение 1, он добавляется в приложение 2 через API с использованием паспорта. Это хорошо работает.
Однако, когда я перемещаю приложение 2 в Интернет и пытаюсь получить от него токен, я получаю эту ошибку: производство.ОШИБКА: Не удалось проанализировать ваш ключ, причина: {«исключение»:»[объект] (LcobucciJWTПодписавшийНедействительный предоставленный(код: 0): Не удалось проанализировать ваш ключ, причина: в /дома/уведомить/public_html/уведомить/поставщика/lcobucci/jwt/src/Подписавший/Недействительный предоставленный.php:17)
Я понятия не имею, почему это происходит. И рабочий сервер, и внутренний сервер разработки почти идентичны. Вот как я перенес приложение на производственную машину:
- Выполнил извлечение из git
- обновление композитора
- установка npm
- ключ php artisan:создание
- миграция php-ремесленника
- паспорт php ремесленника:ключи
- паспорт php ремесленника:клиент —клиент
- На шаге 7 создается идентификатор клиента и секрет, который будет добавлен в первое приложение.
В этом случае, однако, когда я тестирую его в Postman, возникает ошибка сервера 500. В файле журнала Laravel указывается ошибка, описанная выше.
Если я изменю URL-адрес в postman и обновлю секрет клиента, он будет работать с:
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiMmM1NjcyYjFjNGVmNzk1OWRhZWI0MDE0MDhmYTkwNjM4ZWZiZjNkM2VjYzE3ZWM4ZmZkODU1NGYyMDc5YmQ0YzQ4NzgxZjY2MGE1ODVmNzkiLCJpYXQiOjE2MzA2MDE3NjkuMTMwNzU4LCJuYmYiOjE2MzA2MDE3NjkuMTMwNzYyLCJleHAiOjE2NjIxMzc3NjkuMTI3NTI3LCJzdWIiOiIiLCJzY29wZXMiOlsiKiJdfQ.qAUxQN4k0TswCscqcm8t-5PL7YeT5UCrcVlDXB0fO22H6Pu0xOmz3ttQW4DuGQTRchnqdSZWRDt3fZVziMltRQ0liBiQOxQXp6y5pACHV-q2PDFnRKNY3J7hCFhCF1V0Eq4GVMqb5BEKmZsk2YZH2DkWotNc-PV8_wCgayzfrjpJGrrDUlCVqIUX_P1y0scqdljiDM4YzERvH3-BzVLQIipaXHCY5qcNn3smpYV4hUcpgmazQE6jvl48hCrAr-KEA81CBhme9aixxBNTjcTMTwuukCtUBosNPTjwMOeP2AylT5KsrM8frmh_caUS_-cgzfyBHXLhDSz1fWC_g_9MqLMZWzlAWp17FwdDcYWpFgNKmS6cP4NIkNW-Dhdelt-puHlk9sdjGIy-0cWfYzdjUnOXjrb-RgCMHj0w8110zIe2X276gapu94Vy8rJNI70c5GA_VrCd7kpTktJDa1GeSjY1v9Bq_cvDjxdWmR4SGCWAouWxQiTd5TYPx3-M8F73bfYFo_3SE4s7UTk0rMqh-1Ei5IYlf32XQhicAB7j-9clLJMpE2rvmVAR3D362tKED_HSUW6-6EGPKQuv1iC8g1XLqqeInCqwnkLKLZvbA6mqaMnbOUhRjo_P9XuJvpUJcBn9JpHxtEX2kWvOJgtdSqrNRrxWgZSRbJ0jBLj6mMI"
}
Я просто не могу понять, почему ключ на производстве недействителен. Ключи изготавливаются точно так же, как и на тестовых машинах. Я проверил все модули PHP на обоих серверах, и они совпадают с sqlsrv, который мне не нужен в удаленном приложении.
Любая помощь будет признательна.
Комментарии:
1. Где показан токен на предъявителя, предыдущее предложение должно гласить: «Если я изменю URL-адрес в postman НА САЙТ РАЗРАБОТКИ и обновлю секрет клиента, с которым он работает: