繁体   English   中英

在Laravel / Lumen上通过JWT进行身份验证时,如何获取$ user对象?

[英]How to get the $user object when authenticated with JWT on Laravel/Lumen?

我有一个使用JWT进行身份验证的应用程序。 这是我第一次创建。 当我尝试在函数中获取用户对象时,找不到解决方法。 这是我的代码:

public function getEmail(\Illuminate\Http\Request $request)
{
    $user = \Auth::user();

    return new JsonResponse(['message' => $user->email]);
}

它返回$ user对象为null,这可能是因为Auth类与会话身份验证有关。 我正在使用此样板: https : //github.com/krisanalfa/lumen-jwt

我已经研究了代码,但找不到找到用户的方法,有人可以帮忙吗?

您是否尝试过使用此功能?

JWTAuth :: user();

根据本指南进行流明设置

您可以从请求对象获取它:

路线示例:

$app->get('/login', function (Request $request) {
    $token = app('auth')->attempt($request->only('email', 'password'));

    return response()->json(compact('token'));
});

$app->get('/me', function (Request $request) {
    return $request->user();
});

寻找了几个小时后,我找到了一个可行的答案:

$user = app('Dingo\Api\Auth\Auth')->user();

暂无
暂无

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

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