3

我正在构建一个 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;
}

在内核中注册的中间件。

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');
});

当我使用中间件时,它会在 Postman 中显示此结果。 在此处输入图像描述

4

2 回答 2

1

可以在中间件中添加一些自定义标头。要将自定义标头添加到响应中,您需要这样做:

$response = $next($request);
$response->headers->set('Authorization', 'Bearer '.$request->bearerToken());
于 2018-07-22T08:34:32.913 回答
0

您可以执行以下操作:

 $response = $client->request('POST', '/api/details', [
    'headers' => [
        'Authorization' => 'Bearer '.$token,
        'Accept' => 'application/json',
    ],
]);
于 2019-10-28T22:24:04.140 回答