Php 获取经过身份验证的用户Laravel/Lumen Passport
我正在使用lumen构建api和passport以进行api身份验证 我将我的用户信息全部记录在用户表中,而用户密码则存储在另一个表登录-一对一关系中 通过授权,一切都正常工作,我可以创建承载令牌并使用它访问auth:api中间件,但问题是,一旦我使用承载令牌登录,我就无法获得经过身份验证的用户信息 我试过了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 请帮助我访问经过身份验
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;
}