JWT私人或公共索赔的用例

时间:2018-08-06 13:49:53

标签: jwt openid claims

在理解OIDC / OAuth2 / JWT的过程中,我已经到达JWT Documentation (RFC 7519)描述三种索赔的地步。

第一个是已注册的索赔名称,我认为这很清楚。它们是声明名称,由RFC 7519定义并在IANA "JSON Web Token Claims" registry中注册。

第二个称为公共声明名称,分为两个子类型。第一种类型是通过其他引用,例如在JWT claims registry中注册的。 OpenID Connect。第二种类型“ [...]可以由使用JWT的人随意定义” [1]。这些声明名称应具有统一的前缀,例如URI或UUID,以防止与其他公共声明冲突。

第三类索赔是私人索赔。这些“ [...]索赔名称容易发生冲突,应谨慎使用” [2]。

从开发人员的角度出发,我是否正确假设我可以使用私人声明名称,当我对OpenID Provider(OP)和依赖方(RP)双方负责时?在这种情况下,我的客户是唯一使用索赔的客户,我知道客户使用了哪些服务,并且知道所有使用的索赔。因此,我可以确定没有任何索赔名称冲突。

另一方面,如果我的OP是公共的,并且无法与所有RP协商索赔名称,那么我必须使用公共索赔名称(注册的名称或具有唯一的命名空间)。在这种情况下,我将使用名称空间前缀来防止我的声明名称与其他服务声明名称之间的声明名称冲突,而这些最终由RP使用。

我很安静,不确定我是否正确理解了公共和私人索赔名称之间的语义差异。如果没有,我将不胜感激,如果有人可以纠正我,或者在最佳情况下可以证实我的看法。相似问题的答案使我想到了这种解释,但对我来说还不够明确,因此我尝试具体地解释这一问题。

0 个答案:

没有答案