带护照的Laravel 5.3:使用个人访问令牌获取当前用户

问题描述:

我已经使用Laravel 5.3安装了Passport,并配置为使用个人访问令牌。我将用户名和密码发送给`/ oauth/token'路由并获取令牌。一切都很好,直到这里。带护照的Laravel 5.3:使用个人访问令牌获取当前用户

但是,如果我想获取当前登录的用户,并且之前使用$user = Auth::user();,那么我会得到null的值,因为Laravel不保留API令牌的任何会话。在这种情况下,我如何获得当前用户?我可以修改任何文件以获取当前用户以及令牌吗?

在此先感谢阿里夫

首先,我用护照在OAuth2流程password_clients。我流明/ Laravel版本作曲家是5.4 *

我用下面的语句在我流明的应用程序(注意我没有使用外墙):

$user = app('auth')->guard()->user()

这大约相当于门面电话:

$user = Auth::guard()->user()

希望这有助于..

类REGA rds,

PS。我的IDE(Webstorm)无法扩展Facede调用,而是单独应用('auth')调用。为了确定返回什么类,我发现自己正在做例如。一个echo get_class(app('auth'))从我流明控制器之一获取类,并告诉我的IDE什么样的变量$auth的是..

片段

$auth = app('auth'); 
// echo get_class($auth); to get class 
// -> \Illuminate\Auth\AuthManager in this case 
/* @var $auth \Illuminate\Auth\AuthManager */ 

$guard = $auth->guard(); 
// idem as above 
/* @var $guard \Illuminate\Auth\RequestGuard */ 

$user = $guard->user(); 
/* @var $auth \App\Auth\User */ 

// this tells Webstorm/Netbeans/.. to consider $auth an instance of AuthManager and enables autocompletion of class methods