繁体   English   中英

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

[英]Get Authenticated User Laravel/Lumen Passport

我正在使用 lumen 来构建我的 api 和用于 api 身份验证的通行证。

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

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

我试过了

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

但是所有这些函数都返回null

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

网页.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');
    });
});

测试控制器.php

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

你已经使用了 Illuminate\\Http\\Request 吗? 或 Dingo\\Api\\Http\\Request?

function getAuthUserData(Request $request){

    $userDt=$request->user();

    return $userDt;
}

这对我有用

根据 Laravel Lumen 7.x 的文档,您可以使用 Auth::user() 或 $request->user() 来获取经过身份验证的用户,只要您通过 url Lumen Doc传递令牌

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM