Laravel OAuth令牌仅适用于一个用户


Laravel OAuth token for one user only

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

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

我已经开始实现OAuth服务器包lucadegasperi/oauth2-server-laravel

使用GitHub repo和本教程中的文档,这一切都是设置和分发代币,没有问题。

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

现在,我的问题是:

一旦我有了访问令牌,我如何知道它是发给谁的以及他们可以访问什么?没有与此令牌关联的user_id。

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

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

底部(不在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; 
}]);

鲍勃是你的叔叔。我们已经知道是谁提出了要求。