How to send Authorization access_token to request header in Laravel using Middleware

Gabrielle-M picture Gabrielle-M · Jul 22, 2018 · Viewed 13.5k times · Source

I'm Bulid an API Authentication System. Everything I can check using Postman But I want to attach this mark portion (please see the image) that's means the header portion send from my controller or middleware with request header.

How Can I do this Stuff. Please see my code sample.

Picture. enter image description here

I try this using a middleware.

 public function handle($request, Closure $next)
{
    $token='Bearer '.$request->bearerToken();
    $response=$next($request);
    $response->header('Authorization',$token);

    return $response;
}

Registered middleware in Kernal.

protected $middlewareGroups = [

    'Header'  =>[
        \App\Http\Middleware\HeaderMiddleware::class
    ],
];

and my routes\api.php

Route::group(['middleware' => ['auth:api','Header']], function(){
Route::post('details', 'API\PassportController@details');
Route::get('test','API\PassportController@test');
});

When I use Middleware it's show this result in Postman. enter image description here

Answer

Marcin Nabiałek picture Marcin Nabiałek · Jul 22, 2018

It's possible to add some custom headers in middleware. To add custom header to response you need to do it like this:

$response = $next($request);
$response->headers->set('Authorization', 'Bearer '.$request->bearerToken());