Laravel 5.3 with Passport:使用个人访问令牌获取当前用户 - php

我已经在Laravel 5.3中安装了Passport,并配置为使用个人访问令牌。我正在将用户名和密码发送到`/ oauth / token'路由并获得令牌。一切都很好,直到这里。

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

在此先感谢

参考方案

首先,我在OAuth2流中将Passport与password_clients一起使用。我在作曲家中的Lumen / Laravel版本是5.4。*

我在Lumen应用程序中使用了以下语句(请注意,我没有使用Facades):

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

这可能等效于Facade调用:

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

希望这可以帮助..

亲切的问候,

PS。为了弄清楚不使用外墙时返回什么类,我发现自己在做例如。 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

Laravel Blade模板尝试获取非对象的属性时如何返回null而不是ErrorException - php

我正在编写一些Laravel Blade模板,并且我的模型可能包含空对象。我非常想尝试获取对象属性,如果有错误,则返回null。因此,不必编写以下代码:@if ($model->child_object_that_may_be_null) {{ $model->child_object_that_may_be_null->interesti…

Laravel-无需登录即可认证用户 - php

在laravel 5.4中,可以在不登录用户的情况下对用户进行身份验证吗?从laravel doc中,我能找到的最接近的东西是:Auth::once($credentials) 但这仍然使该用户感到厌烦。我需要做的就是只是知道使用该电子邮件和密码的用户是否存在。 参考方案 您可以将Auth::attempt函数与第三个参数用作false进行登录 $email…

Laravel 5错误报告抑制 - php

在Laravel 4中,抑制E_NOTICE消息很容易;我似乎无法做到这一点,因为如果我添加error_reporting(E_ALL ^ E_NOTICE) 它只是被覆盖的任何地方。这似乎发生在这里:(index.php)$response = $kernel->handle( $request = Illuminate\Http\Request::…

Laravel 5排序具有关系的雄辩模型 - php

我有一个要基于关系属性进行排序的模型。主模型Resultado具有类型respondente的关系belongsTo,而respondente具有关系usuario。我想获取具有这些关系的Resultado并按usuario name属性(列)对结果进行排序。我试过了$resultados = Diagnostico\Resultado::with(…

Laravel-使用雄辩的语言在开始日期和结束日期之间选择行 - php

我想将此查询转换为雄辩的laravel,select * from schedule where (now() between start_date and end_date); 我尝试使用whereBetween,但是出现了一些错误。$schedule = Schedule::whereBetween(Carbon::now(), ['start…