如何确保JWT索赔中的碰撞阻力?

时间:2016-06-01 13:52:11

标签: authentication hash cryptography jwt access-token

我正在考虑向JWT添加范围声明,这样我就可以了解用户的角色/权限,而无需点击数据库。我正在阅读rfc7519规范,它说:

  

声明名称可以由使用JWT的人随意定义。但是,在   为了防止碰撞,任何新的索赔名称都应该是   在IANA" JSON Web令牌声明中注册"登记处成立
  通过10.1节或公共名称:包含
的值   防碰撞名称。

"范围"似乎没有在IANA注册,我对如何评估碰撞阻力感到困惑。 ObjectIds和URL显然没问题,但是我不确定它们具有哪些属性使它们比其他字符串更具抗冲突性。

声明的哪一部分需要"抗冲击",它是关键,价值还是两者兼而有之?

确保碰撞阻力有多重要?如何测量? (在jwt索赔的背景下)

1 个答案:

答案 0 :(得分:1)

我认为这是需要防碰撞的关键,因为这是您在授权代码中查询的内容。

我们已经定义了我们的角色声明:

public const string RoleType = "http://schemas.<companyname>.com/platform/claims/role";

在URI中使用您的公司名称应该使其独一无二,因为您不会碰巧分享公司名称。