获得经过身份验证的用户Laravel / Lumen Passport

时间:2017-11-21 06:36:16

标签: php laravel oauth lumen laravel-passport

我正在使用流明为api身份验证构建我的api和护照。

我的用户信息全部记录在用户表中,而用户的密码存储在另一个表(登录) - (一对一关系)中。

使用授权(我可以创建持票令牌并使用它访问auth:api中间件),一切正常。但问题是,一旦我使用持票人令牌登录我无法获得经过身份验证的用户信息。

我试过

Auth::user();
$request->user();
Auth::guard('auth')->user();

但所有这些函数都返回 null

请帮助我访问经过身份验证的用户。

web.php

$router->group(['prefix' => 'dev', 'namespace' => 'Dev'], function ($router) {
    //Generates Bearer Access Token for api access
    $router->post('accessToken', 'TestController@createAccessToken');

    //protected api
    $router->group(['prefix' => 'auth', 'middleware' => 'auth:api'], function ($router) {
        $router->get('authenticated-user', 'TestController@getAuthenticatedUser');
    });
});

TestController.php

public function getAuthenticatedUser(Request $request)
{
    //die('test');
    dd(Auth::user());//returns null
}

2 个答案:

答案 0 :(得分:0)

您是否已使用Illuminate \ Http \ Request? 还是Dingo \ Api \ Http \ Request?

workspace.xml

这对我有用

答案 1 :(得分:-1)

基于Laravel Lumen 7.x的文档,您可以使用Auth :: user()或$ request-> user()来获取经过身份验证的用户,只要您将令牌与URL Lumen Doc一起传递< / p>