gpt4 book ai didi

security - 用户对象应该存储在 JSON Web Token 中吗?

转载 作者:行者123 更新时间:2023-12-04 02:23:28 24 4
gpt4 key购买 nike

我的问题很简单我们应该还是不应该在 JWT 的负载中存储用户对象

例如:

嵌入了用户对象:

{
iss: "https://YOUR_NAMESPACE",
user: user, // user object from database
aud: "YOUR_CLIENT_ID",
exp: 1372674336,
iat: 1372638336
}

或者只存储用户的唯一 ID 是否更好,如下所示:

仅嵌入用户 ID:

{
iss: "https://YOUR_NAMESPACE",
sub: user.id, //only user id
aud: "YOUR_CLIENT_ID",
exp: 1372674336,
iat: 1372638336
}

JSON Web token 草案规范: https://datatracker.ietf.org/doc/html/draft-ietf-oauth-json-web-token


最佳答案

您可以在 token 中存储有关用户的任何类型的信息,但我认为存储所有用户信息没有用。

由于 HTTP 是无状态的,每次用户连接到您的网站或网络应用程序时, token 都会发送到服务器以对用户进行身份验证。所以这个token应该越小越好(这是JWT的JSON Compact Serialization格式的目的)。

您应该存储用于识别用户的唯一信息,例如其电子邮件地址或其 ID (aud: "YOUR_CLIENT_ID")。

在需要时,您可以使用 API 调用或任何其他协议(protocol)向服务器请求有关用户的信息。

关于security - 用户对象应该存储在 JSON Web Token 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25492469/

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