使用JWT的听众字段进行授权角色

5
我考虑使用JWT受众字段在我的应用程序中实现基于角色的授权。因此,我将有ServiceA需要存在'RoleA'观众,ServiceB需要'RoleB'等。然后,在发出JWT时,我包括适当的观众。JWT草案的相关部分spec如下:
"Aud(audience)声明标识了JWT所针对的接收方。每个打算处理JWT的主体都必须在audience声明中使用一个值来标识自己。如果处理该声明的主体在存在此声明时未使用aud声明中的值来标识自己,则必须拒绝JWT...观众值的解释通常是应用程序特定的。"
因此,看起来这样做可以实现,但由于我是JWT的新手,我想知道:基于角色的授权是否适合使用观众字段?还是应该使用具有自定义角色数组负载的自己的逻辑?
谢谢
1个回答

2

我理解的是受众,而不是可以授权用户的消费者/应用程序列表。

在我的应用程序中,我将角色放入负载中的自己的数组中。例如像这样。

{
 "sub": 1234567890,
 "exp": 9876543210,

  "name": "John Doe",
  "roles": ["USER", "EDITOR"]
}

在服务器上,我使用Spring Security进行授权,并从“ sub”中加载用户。

在客户端上,我可以使用这些角色来显示适当的按钮和字段。


是的,那就是我最终采取的方式。谢谢。 - emertechie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接