Как использовать интерфейс для Аутентификации API в паспорте laravel - PullRequest
0 голосов
/ 05 сентября 2018

Я создал систему аутентификации 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();
});
...