gpt4 book ai didi

php - 使用Homestead时检索客户端凭据授予 token

转载 作者:行者123 更新时间:2023-12-03 16:11:10 25 4
gpt4 key购买 nike

我正在尝试使用客户端凭据授予 token 进行机器对机器的身份验证。我有两个单独的网站(API和Web)。

我已经在API上创建了一个客户端凭据授予客户端。

php artisan passport:client --client

在Web上,我尝试使用以下代码从API检索 token 。 PASSWORD_ID/PASSWORD_SECRET存储在我的.env文件中,我直接从数据库中复制了它们,因此它们绝对正确。
$guzzle = new GuzzleHttp();
$response = $guzzle->get('http://testsite-api.test/oauth/token', [
'form_params' => [
'grant_type' => 'client_credentials',
'client_id' => env('PASSPORT_ID'),
'client_secret' => env('PASSPORT_SECRET'),
],
]);

从这我得到以下错误:

Client error: POST http://testsite-api.test/oauth/token resulted in a 401 Unauthorized response: {"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}



请注意:我将此代码拖到Mac(使用代客)上,并立即生效。

我已经使用 postman 对其进行了测试,并且第一次使用Web中使用的ID/SECRET进行了测试。

有什么想法我要去哪里吗?我可以肯定这是一个宅基地问题,但是我很难找到解决方法。

最佳答案

问题可能与使用env()函数有关。如果配置是使用php artisan config:cache缓存的,则env()函数始终返回null,您可以通过运行php artisan config:clear并尝试再次发送请求来进行测试,它应该可以正常工作。

另外,您还应该重构应用程序,env()应该仅在config/文件中使用,这样您就可以缓存变量,并且在您的应用程序中只需使用config('app.PASSPORT_SECRET')app是配置文件所在的文件名。

关于php - 使用Homestead时检索客户端凭据授予 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62345782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com