В паспорте Laravel, что может привести к ошибке, предоставленной InvalidKeyProvided

#laravel #laravel-passport

Вопрос:

Я работал над двумя приложениями laravel как частью более крупного приложения. Оба тестовых приложения находятся во внутренней сети. Когда пользователь добавляется в приложение 1, он добавляется в приложение 2 через API с использованием паспорта. Это хорошо работает.

Однако, когда я перемещаю приложение 2 в Интернет и пытаюсь получить от него токен, я получаю эту ошибку: производство.ОШИБКА: Не удалось проанализировать ваш ключ, причина: {«исключение»:»[объект] (LcobucciJWTПодписавшийНедействительный предоставленный(код: 0): Не удалось проанализировать ваш ключ, причина: в /дома/уведомить/public_html/уведомить/поставщика/lcobucci/jwt/src/Подписавший/Недействительный предоставленный.php:17)

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

  1. Выполнил извлечение из git
  2. обновление композитора
  3. установка npm
  4. ключ php artisan:создание
  5. миграция php-ремесленника
  6. паспорт php ремесленника:ключи
  7. паспорт php ремесленника:клиент —клиент
  8. На шаге 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 НА САЙТ РАЗРАБОТКИ и обновлю секрет клиента, с которым он работает: