首页 > 解决方案 > Laravel 在每个请求中验证社交名流令牌

问题描述

我正在创建基于 laravel API 的应用程序,其中我使用护照进行身份验证。我还使用 laravel socialite 进行社交媒体登录。使用 laravel 护照一切正常,但我无法验证社交媒体令牌,就像我们在每个请求的标头中传递 google 令牌,但无法在每个请求中检查令牌有效性。

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

提前致谢。

标签: phplaravel-5.5laravel-socialite

解决方案


您可以检查中间件:

中间件文件:

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'); 

})

推荐阅读