首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >屏蔽JWT自定义声明是一种好的做法吗?

屏蔽JWT自定义声明是一种好的做法吗?
EN

Stack Overflow用户
提问于 2021-08-31 12:49:29
回答 1查看 99关注 0票数 1

我们在Rest API(Bank API)身份验证中使用JWT令牌,使用正常有效负载,如下所示:

代码语言:javascript
复制
{
  "user_id": "cdda338f-50e2-4e14-9f84-33b8a158db9f",
  "tenant_id": "cdda338f-50e2-4e14-9f84-33b8a158db9e",
  // other jwt claims
}

然而,安全团队认为这是不安全的,我们应该将字段名替换为非直观的值,每个应用程序环境(prd、qas、dev)都不同,如下所示:

代码语言:javascript
复制
{
  // would be user id, the key would be passed by an env var
  "4234e798fdeikfj": "cdda338f-50e2-4e14-9f84-33b8a158db9f",
  // would be tenant id, the key would be passed by an env var
  "dkfgldsjf49385r": "cdda338f-50e2-4e14-9f84-33b8a158db9e",
  // other jwt claims
}

然后,应用程序必须执行以下操作:

代码语言:javascript
复制
import TENANT_KEY from 'my-env-vars';

const tenantId = token[TENANT_KEY];

对我来说,这似乎是不必要的复杂性,因为我们不应该担心我们的令牌被用户读取,因为它不包含敏感信息。它与屏蔽api端点一样没有意义(用/dfkjsdfkjdsf/{id}替换/tenants/{id} )。我认为,如果身份验证实现得当,攻击者就不能利用直观的API。

由于我找不到任何关于它的文章,我想知道这方面是否有有效的案例,如果它被大公司或您自己使用,可能的好处是什么,是否有更好的替代方案(JWE?)。

如果你能给我推荐一些关于这个主题的好文章,我也将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-31 13:54:34

这不是一件常见的事情,没有必要,甚至对安全来说适得其反,因为额外的复杂性实际上可能会导致真正的安全问题。

如果适当地实现了安全控制(它们应该实现),则模糊的安全性不会带来任何好处。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68998983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档