如何在Laravel护照中使用API​​身份验证的前端

时间:2018-09-05 17:47:38

标签: php laravel laravel-passport

我已经使用护照包在Laravel中创建了一个API身份验证系统。现在,我想在网站中使用它,我已经将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();
});

0 个答案:

没有答案