首页 > 解决方案 > Angular 6 azure 广告角色和受众问题

问题描述

嗨,我有一个 Angular 6 应用程序,在 c# 中有单独的 Web API,它验证登录用户的角色。对于 Angular 和 Web API,注册是分开的。不知何故,JWT Web 令牌中的受众是以 Angular 应用程序的注册客户端 ID 而不是资源 URI 的形式出现的。有 2 个问题: 1. 我们可以有 2 个不同的应用注册是否有效?2. 如果是,为什么观众没有正确来。我检查了很多论坛,但没有找到解决方案。3. 角色定义在 Web API 的 Manifest 文件中,他们能进入 JWT 令牌吗?这是 Angular 6 的应用程序模块的示例

这是来自 Angular 6 的应用程序模块代码示例

标签: angularazure-active-directory

解决方案


  1. 我们可以有 2 个不同的应用程序注册是否有效?

是的,这是一个有效的案例。为 UI 和后端 API 注册一个或多个应用程序取决于您的设置/场景。例如,一种情况是,当 API 不仅可以被 Angular 前端使用,还可以被其他应用程序(今天或将来)使用,并且这些其他应用程序与 Angular UI 应用程序无关,这将是一个很好的方法设置单独的应用程序注册。

  1. 如果是,为什么观众不正确。我检查了很多论坛,但没有找到解决方案。

这将取决于您的代码。向 Azure AD 请求令牌时,您指定的资源/端点是什么。您没有在问题中包含太多代码,所以这里有一个类似的示例,您可能会或可能不会做类似的事情,但它应该会给您一些想法。

  1. 这些角色是在 Web API 的 Manifest 文件中定义的,他们能进入 JWT 令牌吗?

简短的回答是肯定的。只要您正确配置了应用程序清单,并且正在登录的用户(或您正在为其获取 JWT 令牌)已经预先分配了一个或多个角色。

以下是相关链接和一个示例应用程序,其中提供了完整的步骤和演练


推荐阅读