Azure Active Directory令牌缺少JWT中的应用程序角色

时间:2019-08-29 23:34:17

标签: azure oauth oauth-2.0 jwt azure-active-directory

我在Active Directory应用程序注册中注册了两个应用程序,一个客户端和一个API。通过“公开API”刀片,客户端应用已被API应用信任。我还向API应用程序添加了4个应用程序角色(清单allowedMemberTypes: ["Application"]中的IE),并将它们作为对客户端应用程序的权限添加。

当我通过客户端凭证流获取访问令牌时,对于客户端应用程序的appid,并通过jwt.io对该令牌进行解码以查看声明,我可以很好地看到分配给客户端应用程序的角色,整洁的数组。

但是,使用身份验证流并以自己的身份(属于目录)(使用相同的密码,范围,客户端ID等)登录,随该流发送回的令牌中缺少应用程序角色,它既不是id令牌也不是auth令牌。

我在这里想念什么?我忘记了一步,还是授权流程不支持应用程序成员的申请?

1 个答案:

答案 0 :(得分:1)

official documentation说:

  

您可以定义应用程序角色以定位用户,应用程序或同时定位两者。什么时候   适用于应用程序,应用程序角色显示为应用程序权限   在“必需的权限”边栏。

而且,一旦在应用程序中添加了应用程序角色(allowedMemberTypes中带有“ user”),便可以在企业应用程序中assign users and groups to these roles

如果为一个用户分配了任何角色,则可以在其ID令牌中获取角色信息。