Laravel在每个请求中验证社交名流令牌

时间:2018-08-28 14:50:20

标签: php laravel-5.5 laravel-socialite

我正在创建基于laravel API的应用程序,其中使用了护照进行身份验证。我还使用laravel社交网站登录社交网站。 laravel护照可以正常工作,但我无法验证社交美狄亚令牌,就像我们在每个请求的标头中传递google令牌一样,但无法在每个请求中检查令牌的有效性。

有没有人可以帮助我解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以检查中间件:

中间件文件:

class ApiAuthenticate {    
    public function handle($request, Closure $next)
    {
        $status = false;
        $accessToken = $request->header('AccessToken');
        if($accessToken) {
            $user_check = User::where("api_token", $accessToken)->first();
            if(count($user_check) > 0) 
            {              
               $status = true;
            }
        }

        if($status == false) {
            return response()->json([
                'code' => 401,
                'msg' => trans('web_service.unathenticated')
            ]);
        } else {
            return $next($request);
        }
    }
}

路由文件:

Route::group(array('prefix' => 'api', 'middleware' => 'api'), function()
{
    Route::get('/users', 'Api\UsersController@getUser');
    Route::post('/users/save', 'Api\UsersController@saveUser'); 

})