我们有多个微服务,其中一些需要在没有人工交互的情况下相互交谈,而有些则需要应用程序角色才能授予访问权限。
我们不使用“不推荐”的资源所有者密码凭据授予流,而是希望在适当的JWT令牌中包含注册应用程序中的App角色。
为此,我们需要将委托权限"user_impersonation“作为我们需要访问的API的权限。
我已经想出了有时如何做到这一点,但它似乎并不总是可以作为任何特定应用程序的API权限使用。
如果应用程序还没有可用,那么我需要做什么才能使它可用,这样我就可以授予权限,从而获得JWT令牌中包含的应用角色。
发布于 2022-05-30 11:21:18
Azure Active刀片有两个应用程序注册,options>遗留和预览。在遗留应用程序注册中,当我们单击“公开API”选项时,您可以看到有一个自动创建的user_impersonation作用域。
但是对于预览we need to create manually with scope > user_impersonation.


user_impersonation作用域名称可以是任何类型的名称,因为它是自定义作用域,只要代码检查所创建的作用域名称。
因此,在创建自定义范围之后,您可以尝试获取
另外,请注意,当您使用客户端凭据流和使用应用程序权限时,您将在令牌中获得角色而不是范围(即: scp声明)。
检查这个> .
同样,也可以查看的讨论。此外,您还可以与团队联系,以进一步排除故障。
https://stackoverflow.com/questions/72407757
复制相似问题