如何从生成的令牌中获取电子邮件

时间:2016-05-21 00:18:09

标签: php laravel jwt

您好我试图从给定令牌中获取电子邮件用户。我已尝试过解析令牌,但根据此example,我总是空或{}值:

public function getAuthenticatedUser()
    {
        try {
            if (! $user = JWTAuth::parseToken()->authenticate()) {
                return response()->json(['user_not_found'], 404);
            }

        } catch (Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {

            return response()->json(['token_expired'], $e->getStatusCode());

        } catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {

            return response()->json(['token_invalid'], $e->getStatusCode());

        } catch (Tymon\JWTAuth\Exceptions\JWTException $e) {

            return response()->json(['token_absent'], $e->getStatusCode());

        }

        // the token is valid and we have found the user via the sub claim
        return $user;
    }

我将令牌放在url上,就像这个localhost:8000 / admin / user / get_all?token = {{token}},我还在标题中添加了token标记。注意:我'使用邮递员发出请求。但是当我尝试将解析值传递给响应时,我总是得到{}值:

$result = $this->getAuthenticatedUser();
return response()
            ->json([
              'status'=>'success',
              'user'=>$result,
              'data'=> $users,
            ]);

如果我在这里错了,请纠正我:解析意义以获取身份验证用户的信息,例如电子邮件?
注意:我正在使用laravel 5.2,并且在路由中我已经内置了中间件jwt-auth,并且我正在使用此library for generate the token

1 个答案:

答案 0 :(得分:0)

看起来响应是正确的,但我不知道为什么只有{}但实际上不是空的,当我尝试获取列表名之类的电子邮件时:

  

$result->email

我收到了使用该令牌记录的实际电子邮件,所以现在我得到了它,谢谢大家。