使用 laravel 解析自定义 Tymon\JWT 令牌

Parsing custom Tymon\JWT token with laravel

我正在尝试解析自定义 JWT token。要生成令牌,我有以下 class:

public function createToken()
{
    $client = ['sub' => 'u0406'];

    $payload = JWTFactory::make($client);

    $token = JWTAuth::encode($payload);

    return $token;
}

我得到这个令牌并传递给它

我如何解析它并在另一种方法中获取变量 $client? 我的 parseMethod 声明如下:

public function create(Request $request)
{
        $token = JWTAuth::getToken();
        return $token;
}

它只是 returns 令牌字符串。不是数组。

我是通过以下方法得到的:

public function create(Request $request)
    {
        $token = JWTAuth::parseToken();
        return $token->getPayload()->get('sub');
    }

这个returnsu0406

我想您已经成功地在 createToken() 方法中创建了您的令牌,并且您正在将它作为请求传递给 create() 方法,您希望在该方法中解析该令牌以获取客户端 object/associative 再次排列。

根据您所写的内容,我认为您在 JWTAuth 上使用了错误的方法,即 getToken()。要正确解析,试试这个

  1. 首先从 JWTAuth class 实例化一个 $jwtauth 对象

  2. 在您的创建方法中使用 $client = jwtauth->toUser($token);

  3. 访问 client/user