使用 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()
。要正确解析,试试这个
首先从 JWTAuth class 实例化一个 $jwtauth 对象
在您的创建方法中使用 $client = jwtauth->toUser($token);
访问 client/user
我正在尝试解析自定义 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()
。要正确解析,试试这个
首先从 JWTAuth class 实例化一个 $jwtauth 对象
在您的创建方法中使用
$client = jwtauth->toUser($token);
访问 client/user