【发布时间】:2018-03-15 19:03:09
【问题描述】:
我的 API 在 .env 文件中有 AUTH_KEY。我想检查这个 KEY 槽中间件。 我使用 cURL 将所有请求发送到 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;
}
}
【问题讨论】:
-
第 3 方 API 通常应该有关于如何接收密钥的说明
-
这取决于您如何构建或发送您的请求,我们不知道。
-
有用的评论,劳伦斯。