在jwt中存储用户ID的位置

los*_*ion 22 jwt

我正在为一个api令牌创建一个jwt.我将用户ID放入jwt中,因此我知道谁正在调用api.我在哪里将用户ID放在jwt中.

我已经看到许多不同的例子,它们把它放在'sub','aud'甚至'iss'中.哪个是正确的.或者用户ID是否以非注册名称进行?

Han*_* Z. 22

sub权利要求是对用户标识符的权利要求.该aud声明确定了JWT的预期接收者,并iss标识了发行者/创建者.对这些声明的任何其他解释都不符合标准,请参阅:https://tools.ietf.org/html/rfc7519#section-4.1

  • 因此,例如,如果我想要一个人类可读的 ID *和*一个代表 ID 的更适合数据库的密钥,则没有标准的方法?我什至不应该将电子邮件存储为“sub”声明,而只使用“内部 id”,无论它是什么。 (2认同)