带护照的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