如何构造base64编码的Authorization标头?

问题描述 投票:0回答:1

我正在使用 PHP-cURL 语言的 CTM(呼叫跟踪指标)API 构建一个 Web 应用程序。为了使用 API 进行授权,他们使用基本身份验证方法来构造 Base64 编码的授权标头。

用于获取帐户列表的文档。在这里,我在 CURLOPT_HTTPHEADER 中分配基本身份验证时遇到困难。

CURLOPT_HTTPHEADER => array(
    'Authorization: {{Basic Auth}}',
    'Content-Type: application/json'
),

我尝试像下面这样分配它

$encoded_string = base64_encode('a20374d463f8a02b68fdc3bed8eb8bb4bb5a0c6:16ebe4fe438b2bdf2e80599baec8f7a6bbc4');

// echo $encoded_string;

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.calltrackingmetrics.com/api/v1/accounts',
  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: {{'.$encoded_string.'}}',
    'Content-Type: application/json'
  ),
));

以上代码显示错误

{"authentication":"failed"}

任何人都可以建议我分配基本身份验证的正确方法吗?

php curl basic-authentication
1个回答
0
投票

取下括号并尝试这个

CURLOPT_HTTPHEADER => array(
    'Authorization: Basic '.$encoded_string,
    'Content-Type: application/json'
  ),
© www.soinside.com 2019 - 2024. All rights reserved.