Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取经过身份验证的用户Laravel/Lumen Passport_Php_Laravel_Oauth_Lumen_Laravel Passport - Fatal编程技术网

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

Php 获取经过身份验证的用户Laravel/Lumen Passport,php,laravel,oauth,lumen,laravel-passport,Php,Laravel,Oauth,Lumen,Laravel Passport,我正在使用lumen构建api和passport以进行api身份验证 我将我的用户信息全部记录在用户表中,而用户密码则存储在另一个表登录-一对一关系中 通过授权,一切都正常工作,我可以创建承载令牌并使用它访问auth:api中间件,但问题是,一旦我使用承载令牌登录,我就无法获得经过身份验证的用户信息 我试过了 Auth::user(); $request->user(); Auth::guard('auth')->user(); 但所有这些函数都返回null 请帮助我访问经过身份验

我正在使用lumen构建api和passport以进行api身份验证

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

通过授权,一切都正常工作,我可以创建承载令牌并使用它访问auth:api中间件,但问题是,一旦我使用承载令牌登录,我就无法获得经过身份验证的用户信息

我试过了

Auth::user();
$request->user();
Auth::guard('auth')->user();
但所有这些函数都返回null

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

web.php

TestController.php

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

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

您是否已经使用了Illumb\Http\request? 还是Dingo\Api\Http\Request

function getAuthUserData(Request $request){

    $userDt=$request->user();

    return $userDt;
}

这对我有用

您是否在受auth:api中间件保护的路由内访问这些函数?是的,在auth:api中间件@patricus内您可以显示路由和控制器代码吗?问题现在包含路由和控制器代码抱歉,错过了您使用lumen的机会。您采取了哪些步骤在lumen中设置passport?您给出的解决方案是不使用passport。我非常确定这是正确的,因为这就是我正在使用的,但是如果我尝试e var_dump$request->user或dd$request->user,我会得到null或没有响应,我不知道为什么,但是如果我使用var_dump$request->user->id,我会得到当前的用户id。
function getAuthUserData(Request $request){

    $userDt=$request->user();

    return $userDt;
}