使用 cURL 设置 Bearer 令牌的正确方法

新手上路,请多包涵

我从 API 端点获取不记名令牌并设置以下内容:

 $authorization = "Bearer 080042cad6356ad5dc0a720c18b53b8e53d4c274"

接下来,我想使用 cURL 访问安全端点,但是我不确定如何或在何处设置 Bearer 令牌。

我已经尝试过了,但它不起作用:

 curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization ));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result);

根据文档,我应该这样使用不记名令牌:

 GET /oauth/resource HTTP/1.1
Accept: application/json
Authorization: Bearer 907c762e069589c2cd2a229cdae7b8778caa9f07

原文由 HappyCoder 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

代替:

 $authorization = "Bearer 080042cad6356ad5dc0a720c18b53b8e53d4c274"

和:

 $authorization = "Authorization: Bearer 080042cad6356ad5dc0a720c18b53b8e53d4c274";

使其成为有效且有效的 Authorization 标头。

原文由 Hans Z. 发布,翻译遵循 CC BY-SA 3.0 许可协议

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "your api goes here",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer eyJ0eciOiJSUzI1NiJ9.eyJMiIsInNjb3BlcyI6W119.K3lW1STQhMdxfAxn00E4WWFA3uN3iIA"
  ),
 ));

$response = curl_exec($curl);
$data = json_decode($response, true);

echo $data;

?>

原文由 Raj Shekhar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题