我构建了API身份验证系统。我可以使用Postman
进行检查的所有内容,但我想附加此标记部分(please see the image)
,这意味着标头部分是从控制器或中间件发送的,并带有请求标头。
我该怎么做。 请参阅我的代码示例。
我尝试使用中间件。
public function handle($request, Closure $next)
{
$token='Bearer '.$request->bearerToken();
$response=$next($request);
$response->header('Authorization',$token);
return $response;
}
在Kernal中注册的中间件。
protected $middlewareGroups = [
'Header' =>[
\App\Http\Middleware\HeaderMiddleware::class
],
];
和我的routes\api.php
Route::group(['middleware' => ['auth:api','Header']], function(){
Route::post('details', 'API\PassportController@details');
Route::get('test','API\PassportController@test');
});
答案 0 :(得分:1)
可以在中间件中添加一些自定义标头。要将自定义标头添加到响应中,您需要这样做:
$response = $next($request);
$response->headers->set('Authorization', 'Bearer '.$request->bearerToken());
答案 1 :(得分:0)
您可以执行以下操作:
$response = $client->request('POST', '/api/details', [
'headers' => [
'Authorization' => 'Bearer '.$token,
'Accept' => 'application/json',
],
]);