【问题标题】:Get custom Claim in jwt-auth laravel在 jwt-auth laravel 中获取自定义声明
【发布时间】:2016-01-06 02:09:06
【问题描述】:

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

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

第二个问题是我在 JWT 令牌中添加了一些自定义声明。我想从令牌中获取自定义声明值。我发现了类似的问题Get custom claims from a JWT using Owin,但不知道我是如何在 php 中使用它的。

请帮我解决。

【问题讨论】:

    标签: php laravel-5.1 jwt lumen


    【解决方案1】:
            // 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');
    

    【讨论】:

      【解决方案2】:

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

       $token = JWTAuth::getToken(); 
       $payload = JWTAuth::decode($token);
      
       $validate = $payload->get('foo'); // return true or false
      
       if($validate) { 
        // some condition
       } else {
        // some condition
       }
      

      【讨论】:

        【解决方案3】:

        我得到了解决方案。这是解决方案可能会帮助其他人

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-03-18
          • 2017-12-27
          • 1970-01-01
          • 1970-01-01
          • 2020-03-15
          • 1970-01-01
          • 2018-07-05
          • 2020-08-05
          相关资源
          最近更新 更多