我考虑使用JWT受众群体字段在我的应用中实施基于角色的授权。
所以我有ServiceA需要' RoleA'观众要在场,ServiceB需要' RoleB'然后当我发布JWT时,我会包括适当的受众。
JWT草案spec的相关部分:
aud(观众)声明标识了JWT的目标收件人。每个打算处理JWT的校长都必须在受众索赔中标明自己的价值。如果处理索赔的委托人在提出索赔时没有在审计索赔中标明自己的价值,那么JWT必须被拒绝......对收件人价值的解释通常是针对具体应用的。
所以看起来这样可行但是因为我是JWT的新手,我想知道:基于角色的授权是否适合受众群体使用?或者我应该使用带有自定义角色数组等的有效负载来推送自己的逻辑?
由于
答案 0 :(得分:2)
我理解受众,而不是可以授权用户的消费者/应用程序列表。
在我的应用程序中,我将角色放入有效负载中的自有数组中。比如那样。
{
"sub": 1234567890,
"exp": 9876543210,
"name": "John Doe",
"roles": ["USER", "EDITOR"]
}
在服务器上,我被授权使用弹簧安全性和从#34; sub"加载的用户。
在客户端,我可以使用这些角色来显示正确的按钮和字段。