我有一个解码为以下内容的网络令牌:
{
typ: "JWT",
alg: "HS256"
}.
{
iat: 1435688301,
iss: "localhost",
data: {
user_id: 2
}
}.
[signature]
我将它存储在变量$ data中,并且不知道如何访问'iat'值或'user_id'。任何人都可以帮助我吗?
我试过
$issuanceDate = $data['iat'];
但这似乎不起作用。我也需要用户ID,但它嵌套在$ data.data中。
非常感谢任何帮助,谢谢。
答案 0 :(得分:4)
我已经解决了我的问题。我的解决方案:
从php-jwt :: decode返回的已解码标记'$ data'是一个对象,我只是使用
将其转换为数组$unencodedData = (array) $data;
并使用
访问'iat'字段$issuedAt = $unencodedData['iat'];
此外,该对象包含嵌套对象$ data-> data。为了访问它,我将外部'$ data'对象转换为如上所示的数组,并访问嵌套的'data'对象,如下所示:
$user_id = $unencodedData['data']->user_id;