我们希望使用Azure AD提供的oAuth2保护现有的“私有/内部”API(非MS / Azure),因此Azure AD管理员可以维护用户对API的访问权限。
执行此操作的方法似乎是将API配置为Azure AD中的Web应用程序。然后,用户可以从Azure oAuth2服务器获取授权令牌并将其发送到api(例如,从单页Web应用程序)。
根据我的理解,API应该在令牌中验证范围,并对访问做出决定。
但我无法弄清楚如何针对用户在Azure AD中配置API访问范围。即如何在Azure AD中链接特定用户和API范围?
有人可以建议吗?
谢谢。
答案 0 :(得分:2)
配置应用程序时,可以启用“需要用户分配”(在Azure门户的企业应用程序属性中),然后配置哪些用户或组应该有权访问。
或者,如果您需要更多粒度,可以使用基于角色的访问权限,在应用程序清单(https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles)中定义角色,然后将用户分配给不同的角色。
然后可以使用所需的角色配置API控制器上的[Authorize]
属性或其中的操作,以便访问它们,如下所示:
[Authorize(Roles = "Admin, Writer, Approver")]
(三个指定角色中的任何一个都可以访问)。
有一个sample来证明这一点。