Guzzle为网址添加api密钥

时间:2016-12-08 11:33:59

标签: php laravel guzzle

我正在使用RESTful API,我希望获得所有数据。到目前为止这么好,但我希望它更安全。我不想直接将API令牌放入网址。我想使用guzzel的auth功能,但它不起作用。

示例:基本网址是https://example-api-site.com,我想获取更多信息,所以我转到网站/location.name?lang=en&input=someLocation&authKey=而不是在这里使用authKey(可行)我想使用auth功能

代码:

$authKey = 'authKey123'; 
$client = new \GuzzleHttp\Client(['base_uri' => 'https://example-api-site.com']);
$response = $client->request('GET',"/location.name?lang=en&input=someLocation&authKey=",[
    'auth' => [$authKey, null]    
]);
echo $body = $response->getBody();

回声的输出是“无效的身份验证密钥:”

我感谢每一条评论!

2 个答案:

答案 0 :(得分:0)

您可能正在寻找原始授权标题:

$response = $client->get('YOUR_ENDPOINT', [
    'Authorization' => [
        'Basic ' . base64_encode('someone@gmail.com:password')
    ]
]);

答案 1 :(得分:0)

'auth'选项用于基本身份验证,它与GET参数不同。因此,如果API只接受GET参数,那么你就会陷入困境。

顺便说一下,默默无闻的安全并不是真正的安全。您已经在使用HTTPS了,所以我没有理由担心。