【问题标题】:Laravel OAuth token for one user onlyLaravel OAuth 令牌仅适用于一个用户
【发布时间】:2016-09-03 15:30:21
【问题描述】:

我正在创建一个需要从移动应用访问 API 的 Web 应用。我已经实现了一些公共 API 方法,这些方法很好,效果很好。

现在,我正在研究受限的 API 方法,即更新用户信息等。

我已经开始实现OAuth server packagelucadegasperi/oauth2-server-laravel

使用来自 GitHub 存储库和 this tutorial 的文档,所有设置和分发令牌都没有问题。

我可以使用对我的公共 API 方法 oauth/access_token 的 POST 调用获取 OAuth 令牌,这将返回访问令牌没有问题。

现在,我的问题是:

获得访问令牌后,我如何知道它是发给谁的以及他们有权访问什么?没有与此令牌关联的 user_id。

我可以简单地在表中创建一个列并使用 Eloquent 模型来找出我如何将此令牌与用户相关联吗?

【问题讨论】:

    标签: php api laravel oauth laravel-5.2


    【解决方案1】:

    好的,所以在多次搜索源代码和文档之后,我放弃并在这里发布了一个问题。然后我想“再来一次”。我找到了this gem

    并且在底部(不在目录或任何内容中)是:

    查找访问令牌所有者

    use LucaDegasperi\OAuth2Server\Facades\Authorizer;
    
    Authorizer::getResourceOwnerId();
    

    搭配:

    $user = User::find($user_id);
    

    像这样:

    Route::get('protected', ['middleware' => 'oauth', function() {
        $user_id = Authorizer::getResourceOwnerId();
        $user = \App\User::find($user_id);
        return $user; 
    }]);
    

    鲍勃是你的叔叔。我们有提出请求的人。

    【讨论】:

      猜你喜欢
      • 2018-05-07
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 2014-08-21
      • 2018-08-22
      • 1970-01-01
      相关资源
      最近更新 更多