如何使用 PHP 提取已解码的 JWT Web 令牌的有效负载数据
How do I extract the payload data of a decoded JWT web token using PHP
我有一个网络令牌,可以解码为以下内容:
{
typ: "JWT",
alg: "HS256"
}.
{
iat: 1435688301,
iss: "localhost",
data: {
user_id: 2
}
}.
[signature]
我将其存储在变量 $data 中,但不知道如何访问 'iat' 值或 'user_id'。谁能帮帮我?
我试过了
$issuanceDate = $data['iat'];
但这似乎不起作用。我也需要用户 ID,但它嵌套在 $data.data.
中
非常感谢任何帮助,谢谢。
我的问题已经解决了。我的解决方案:
从 php-jwt::decode 返回的解码令牌“$data”是一个对象,我只是使用
将其转换为数组
$unencodedData = (array) $data;
并使用
访问了'iat'字段
$issuedAt = $unencodedData['iat'];
此外,该对象包含一个嵌套对象 $data->data。要访问它,我将外部“$data”对象转换为上面的数组,并访问嵌套的 'data' 对象,如下所示:
$user_id = $unencodedData['data']->user_id;
我有一个网络令牌,可以解码为以下内容:
{
typ: "JWT",
alg: "HS256"
}.
{
iat: 1435688301,
iss: "localhost",
data: {
user_id: 2
}
}.
[signature]
我将其存储在变量 $data 中,但不知道如何访问 'iat' 值或 'user_id'。谁能帮帮我?
我试过了
$issuanceDate = $data['iat'];
但这似乎不起作用。我也需要用户 ID,但它嵌套在 $data.data.
中非常感谢任何帮助,谢谢。
我的问题已经解决了。我的解决方案:
从 php-jwt::decode 返回的解码令牌“$data”是一个对象,我只是使用
将其转换为数组$unencodedData = (array) $data;
并使用
访问了'iat'字段$issuedAt = $unencodedData['iat'];
此外,该对象包含一个嵌套对象 $data->data。要访问它,我将外部“$data”对象转换为上面的数组,并访问嵌套的 'data' 对象,如下所示:
$user_id = $unencodedData['data']->user_id;