我的API在.env文件中有AUTH_KEY。我想檢查這個KEY槽中間件。 我用cURL將所有請求發送到API(另一個域)。而且我無法理解如何在每次請求時發送此密鑰。發送祕密密鑰到API
特別是,我該如何檢查它。我找到某種方式來發送:
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'AUTH_KEY: secret'
));
我不知道工作與否,因爲我不知道怎麼去訪問這個變量?
UPD。它的我自己的API)現在有說明如何發送郵件)
這裏是我的Request.php
class Request
{
//Return Array of objects with parameters 'id', 'name'
public static function sendRequest($request_type, $url, $param = null)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "backend_service.com/api/$url");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'AUTH_KEY: secret'
));
switch ($request_type) {
case "GET":
$server_output = json_decode(curl_exec($ch));
break;
case "POST":
$query = http_build_query(array(
"name" => $param->name,
"description" => $param->description,
"category_id" => 2,
"type_id" => 3)
);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
$server_output = curl_exec($ch);
break;
case "PUT":
$query = http_build_query(array(
"name" => $param->name,
"description" => $param->description,
"category_id" => $param->category_id,
"type_id" => $param->type_id)
);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_type);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
$server_output = curl_exec($ch);
break;
case "DELETE":
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request_type);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
$server_output = curl_exec($ch);
break;
}
curl_close($ch);
return $server_output;
}
}
第三方API通常應該有關於如何接收密鑰的說明 – apokryfos
那麼這取決於您如何構建或發送您的請求,我們不知道。 – iainn
有用的評論,勞倫斯。 –