在 jwt-auth laravel 中获取自定义声明

Get custom Claim in jwt-auth laravel

我需要帮助来解决问题。 我正在使用 lumen(laravel 5.1) 为移动应用程序创建 Web 服务。我正在使用 JWT 进行身份验证,它 returns 一个令牌。

第一个问题是,如果我使用另一个 system/device 的相同令牌,那么它会验证并 returns 请求信息。我希望该令牌仅对来自用户获取令牌的 device/system 有效。

第二个问题是我在 JWT 令牌中添加了一些自定义声明。我想从令牌中获取自定义声明值。我发现了类似的问题 ,但没有明白我在 php.

中如何使用它

请帮我解决问题。

我找到了解决方案。这是解决方案可能对其他人有帮助

$payload = JWTAuth::parseToken()->getPayload();
// then either of
$payload->get('foo');
$payload['foo'];

我找到了解决办法,这对你有帮助。

 $token = JWTAuth::getToken(); 
 $payload = JWTAuth::decode($token);

 $validate = $payload->get('foo'); // return true or false

 if($validate) { 
  // some condition
 } else {
  // some condition
 }
        // SENDING:
        $user = User::first();

        $payload = [
            'foo' => 'bar'
        ];

        $guard = 'api'; // or web

        $token = auth($guard)->claims($payload)->login($user);

        // RECEIVING:
        $data = auth($guard)->payload()->get('foo');