gpt4 book ai didi

token - 从客户端向 JWT 添加数据

转载 作者:行者123 更新时间:2023-12-05 08:18:55 24 4
gpt4 key购买 nike

我是 JWT 的新手。我有一个 API 可以为客户端生成 JWT,以便对进一步的请求进行身份验证。我的 JWT 有一个返回用户 ID 的属性:

{
jwt: {
exp: "2017-12-12 00:00:00",
data: {
user_id: 491
}
}
}

我的问题是客户端是否可以解码 API 生成的 JWT 并将新属性添加到数据字段中,如下所示:

{
jwt: {
exp: "2017-12-12 00:00:00",
data: {
user_id: 491,
status: 1
}
}
}

或者,如果我可以从 API 身份验证系统生成 JWT,并将状态字段设置为默认值,然后客户端可以更改它。

谢谢。

最佳答案

客户端可以这样做,但会使 token 无效。当您更改有效负载的内容时,例如添加另一个字段或更改其内容, token 的签名不再匹配。当 API 收到带有无效签名的 token 时,它应该拒绝该 token 。想象一下,如果您有一个名为 isAdmin 的字段,并且客户端可以将其从 false 更改为 true。这会使您的身份验证毫无意义;客户端不决定它是否是管理员,后端决定。

当 token 的有效负载发生变化时,必须重新制作签名。为了签署 token ,客户端必须知道 key (对于 H256)。但是客户端不应该知道 key 。

所以答案是否定的,客户端不能更改 token 。

您可以阅读更多相关信息 here .

关于token - 从客户端向 JWT 添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47178081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com