我正在使用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();
回声的输出是“无效的身份验证密钥:”
我感谢每一条评论!
答案 0 :(得分:0)
您可能正在寻找原始授权标题:
$response = $client->get('YOUR_ENDPOINT', [
'Authorization' => [
'Basic ' . base64_encode('someone@gmail.com:password')
]
]);
答案 1 :(得分:0)
'auth'
选项用于基本身份验证,它与GET参数不同。因此,如果API只接受GET参数,那么你就会陷入困境。