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

时间:2017-07-28 14:49:21

标签: php laravel jwt 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

我已查看过代码但无法找到获取用户的方法,有人可以提供帮助吗?

3 个答案:

答案 0 :(得分:0)

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

JWTAuth ::用户();

答案 1 :(得分:0)

根据此Guide for setting up with Lumen

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

示例路线:

$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();
});

答案 2 :(得分:0)

在找了好几个小时之后,我找到了一个合适的答案:

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