试图在没有活动访问令牌laravel的情况下访问会话数据

时间:2016-12-23 05:43:04

标签: php laravel access-token

我有以下代码使用LucaDegasperi \ OAuth2Server \ Authorizer生成访问令牌,我需要获取审核日志的authId。

Route::post('oauth/access_token', ['middleware' => $pre_token_middleware, 
function () {

    $access_token = Authorizer::issueAccessToken();

    // Create log for logged in user
    $auth_id = Authorizer::getResourceOwnerId();
    // another code here..

    return \Response::json($access_token);
}]);

但是,当执行getResourceOwnerId函数时,我试图在没有活动访问令牌错误的情况下访问会话数据。我已经尝试将代码移动到控制器但遇到了同样的错误。

1 个答案:

答案 0 :(得分:1)

我不知道这个捆绑(它的功能/工作方式),但我认为你错过了一些东西。从lucadegasperi-oauth2-server-laravel查看以下详细信息。

如果中间件没有按照正确的顺序排列,Authorizer::getResourceOwnerId()之类的方法就无法正常工作。

请注意,中间件必须按特定顺序应用。必须在OAuthMiddlewareOAuthClientOwnerMiddleware

之前添加OAuthUserOwnerMiddleware

愿这些信息对您有所帮助!

<强>更新
试试下面的中间件代码

Route::post('oauth/access_token', function() {
    return Response::json(Authorizer::issueAccessToken());
});

Route::group(['middleware' => 'oauth'], function () {

    Route::get('authroute', function() {
        //OAuth will be required to access this route
    });

    Route::post('postwithauth', function(Request $request) {
        $userID = Authorizer::getResourceOwnerId();
        $input = $request->input();
        return response()->json(array('userID' => $userID, 'input' => $input));
    });

});

此处authroutepostwithauth需要更新您的身份。