Я создал систему аутентификации API в Laravel
, используя паспортный пакет. Теперь я хочу использовать его на веб-сайте и сохранить access_token
в браузере cookie
и добавить access_token
в заголовок запроса с использованием промежуточного программного обеспечения для защищенного API endpoints
. но это не работает.
Вот мой метод входа в API -
public function login()
{
if(Auth::attempt(['email' => request('email'), 'password' => request('password')])){
$user = Auth::user();
$token = $user->createToken('Personal Access Token')-> accessToken;
return response($token,200)->cookie('access_token',$token,10);
}
else{
return response()->json(['error'=>'Unauthorised'], 401);
}
}
Вот, промежуточное программное обеспечение моего токена -
use Cookie;
public function handle($request, Closure $next)
{
$response = $next($request);
$token=Cookie::get('access_token');
$response->header('Authorization','Bearer '.$token);
$response->header('Accept','application/json');
return $response;
}
и защищенные маршруты, к которым я хочу получить доступ.
Route::middleware(['auth:api','api.token'])->get('/user', function (Request $request) {
return $request->user();
});