在laravel 8中向Http请求添加一个API密钥



下面是一个POST方法,它将生成API密钥

控制器:

public function index(Request $request)
{
$response = Http::post('ENDPOINT', [
'Username' => 'ADMIN',
'Password' => 'ADMIN',
'Token' => 'TEF53...',
]);

下一个方法(POST(将创建新的数据,并使用上面的响应作为API密钥

$response2 = Http::withHeaders([
'Accept' => 'application/json',
])->post('ENDPOINT', [
'body' => [
"DocKey" => 11223333355,
...
]
]);
return json_decode($response2);
}

但在这种情况下,我得到了一个错误:

Message "Authorization has been denied for this request."

原因是以前的POST方法中没有提供API密钥

我可以将第一个方法中生成的API密钥放在第二个方法中的什么位置?


更多说明:

当我在Postman中测试第二个方法($response2(时,我需要提供从第一个方法($response(生成的API密钥,如下所示:

https://i.stack.imgur.com/TOp1b.png

如何添加以上内容(键入API密钥及其参数(?

看起来像

$response2 = Http::withHeaders([
'Accept' => 'application/json',
'Authorization' => 'eyJ...', // provide apiKey here
])->post...
$endpoint = 'ENDPOINT';
$payload = [
'DocKey' => 11223333355,
'more info' => goes here,
];
$response2 = Http::acceptJson()->withHeaders([
'Authorization' => 'API key here'
])->post($endpoint, $payload)->json();
return $response2;

最新更新