仅限一位用户的Laravel OAuth令牌

时间:2016-05-09 05:29:14

标签: php api laravel oauth laravel-5.2

我正在创建一个Web应用程序,我需要从Mobile Apps访问API。我已经实现了一些公共API方法,这些方法很好并且工作得很好。

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

我已开始实施OAuth server package lucadegasperi/oauth2-server-laravel

使用GitHub仓库和this tutorial中的文档,所有设置和抛出令牌都没问题。

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

现在,我的问题是:

一旦我拥有访问令牌,我怎么知道它被发给谁以及他们有权访问什么?没有与此令牌关联的user_id。

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

1 个答案:

答案 0 :(得分:1)

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

在底部(不是在TOC或其他任何地方)是:

查找访问令牌所有者

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; 
}]);

鲍勃是你的叔叔。我们有谁提出要求。