4

我使用 laravel 作为我的框架,并安装了护照和 guzzle。我正在尝试从服务器获取我正在开发的 iPhone 应用程序的密码授权令牌。这就是我为授权令牌调用 api 的方式

$http = new GuzzleHttp\Client;

$response = $http->post('http://your-app.com/oauth/token', [
    'form_params' => [
        'grant_type' => 'password',
        'client_id' => 'client-id',
        'client_secret' => 'client-secret',
        'username' => 'taylor@test',
        'password' => 'my-password',
        'scope' => '',
    ],
]);

return json_decode((string) $response->getBody(), true);

当我使用所有正确的数据调用它时,我从控制台收到此错误。

GuzzleHttp\Exception\ConnectException: cURL error 7: 
Failed to connect to studious.test port 80: Connection refused (see 
http://curl.haxx.se/libcurl/c/libcurl-errors.html) in file /var/www/your-app/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php on line 185

我也在使用 Laradock 进行开发,并且我的 hosts 文件中有 your-app.com 和 www.your-app.com 。从我的研究看来,这可能是由于某些 dns 内容而导致的错误。不知道这到底是怎么回事。

在我的主机文件中,我尝试将我的 url 与 www.

4

1 回答 1

0

例如,您需要将请求 url 替换http://{nameofservice}/oauth/tokenhttp://nginx/oauth/token,然后它应该可以工作

于 2021-07-02T01:23:07.057 回答