关于在Authorization标头JWT中包含有关用户的详细信息的最佳实践是什么? JWT应该包含用户的详细信息(例如姓名,手机号码和电子邮件)还是应该向后端服务查询?
在决定应在JWT的有效负载中包含哪些详细信息之前应考虑哪些因素?
答案 0 :(得分:1)
这取决于您的后端设计方式。
如果您的用户数据只是一个电子邮件地址和密码,那么您显然只需将电子邮件地址存储在jwt中。但是,如果您的某条路线上需要一些其他用户数据(例如电话号码)来解决数据库中的某些依赖性,则您也可以将电话号码存储在令牌中,以避免服务器负载(因为您不必针对用户的电话号码了。
如果您具有更复杂的权限结构,我也将权限角色存储到jwt,那么您可以轻松地检查用户是否被授权访问此路由,依此类推。
这是一个很常见的答案,最后,您必须确定令牌中需要的内容。
最后一件事(我想你已经知道):不要将用户密码存储在令牌中。