У меня есть 2 приложения, которые оба используют Laravel oauth security. Эти приложения обмениваются данными через restAPI. Когда я запрашиваю токен oauth через почтальона, он работает нормально, но когда я пробую его с помощью http-сообщения 1-го приложения (Guzzle), он не может аутентифицировать пользователя. Оба они должны использовать разные базы данных, но когда я переключаюсь на mysql, в сообщении об ошибке указывается, что он не может подключиться к базе данных 1-го приложения. Что здесь пошло не так?
protected function getAccessTokenMerchant()
{
$client = new Client();
$response = $client->POST("http://localhost/xxx/public/" . 'oauth/token', [
'headers' => [
'Accept' => 'application/json',
'Content' => 'application/json'
],
'json' => [
'client_id' => "2",
'client_secret' => "LlJ90SqW4IPSUfQGiLQVUzKtCr1FKMirS6bBxcf1",
'grant_type' => 'client_credentials'
]
]
);
return $response->getBody();
}
ответом этого кода является ошибка клиента: POST http://localhost/xxx/oauth/token
привел к ответу 401 Unauthorized
. когда я использую почтальон для выполнения запроса к http://localhost/xxx/oauth/token,, я получаю токен
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjAyYzFmZGQwNmE4MTM0MGM5ZDQwNjI3OWI3ZGJjN2E1NzdhMmJiMjllNjZkOTIzODE0Mjg2Y2IxNmVlM2ZiYjcwZDFlZTgxNmQwNDZlOWE4In0.eyJhdWQiOiIyIiwianRpIjoiMDJjMWZkZDA2YTgxMzQwYzlkNDA2Mjc5YjdkYmM3YTU3N2EyYmIyOWU2NmQ5MjM4MTQyODZjYjE2ZWUzZmJiNzBkMWVlODE2ZDA0NmU5YTgiLCJpYXQiOjE1NzE4NDQ4NDcsIm5iZiI6MTU3MTg0NDg0NywiZXhwIjoxNjAzMzgwODQ3LCJzdWIiOiIiLCJzY29wZXMiOltdfQ.WXIOIOVcacv4Cf-V8RlrlWpuIrDu0_cnoykxSQKtwAx1JxrK8dWsZqrxQbYsVU8Nt03apVpbtOEDhn32yIF7xhRuJHuw_p1x-waOJCQ2CDzcmkiumhDcc117CYrn3jrBaEDBKEpZSuI5ZW8-VqSWXmfpc18xjxESpAWej__wT78mKYtelZg00I2M5khJTAD2XaBsjoThdK0QuID6jtlMBaoZJEHzoEj-UKpuizOwvFXwbl6Plz3L_uuQqmKz64y8hfMhgZ8Zc70rkI_iLek7D1yEXn5EsZ5BH0qKgYsIYxyZMdojL4bhT8yjgB4KujZi8tHfM6iHthAgYYJ2WlIBQJ9lCpnGuP4xWyNGmN3HQZ4K5eM7pHkZLu3eEVrl-7JixC0HgDWos25m8_HIUnXaUs-dNDDsDMO0o57JB38ao-frUgfrAU6DgjYTEslmtS0SYpE6JoPTbBn7XYADy4VCP6J67dSm-J_Qbm8GFuyX_o57v43jH4tPFxq-ccnTlfzT-E6ApFsMhYAGli713TQUct2Y3VTQFVRMuDniMMKdsZT8XN4CLGbdN6tic9jQ5W_i-XfWL9vN_RSiXHROAF-KV8nxVj0n4GgycJ9DtV0-C3Qcpyz7Zbh_WrVPW5qsr5j5rrtWXsQ7VZOBCWLAyh4YXe_HSeOXqV-k202kcURZ0UQ"}
, когда я отключаю сервер mySql, функция getAccessTokenMerchant () возвращает ошибку ниже: Неизвестная база данных 'first_application_db' (SQL: выберите * из client_credentials
, где code
= EWALLET limit 1), что неверно. он должен проверить с second_application_db, а не first_application_db. Есть идеи, что происходит?