带有用户AD身份验证的Azure AppService

时间:2020-05-27 08:33:11

标签: c# azure-active-directory dynamics-crm sharepoint-online azure-web-app-service

想象一下这样的情况: 我已经将Web API应用程序部署为azure作为应用程序服务。我要做的是在此Web API中实现基于角色的操作。问题是,将从其他MS产品(例如Dynamics CRM,Sharepoint Online等)调用此API,并且应从该另一产品中将操作作为经过身份验证的用户调用。为了简化:

  1. 用户登录到Dynamics CRM
  2. 某些操作将从Web API调用
  3. 我需要在Web API代码中获取有关被调用操作的信息,以验证用户是否有权实际调用此操作

您是否有一些有关如何实现此目标的材料和教程?我们已经花了很多时间对此进行研究,但没有找到有关这种简单案例的任何信息。

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找group claimapp roles

对于组声明,您可以将用户添加到不同的安全组中,并将组声明包括在令牌中。您只需要修改应用程序清单中的“ groupMembershipClaims”字段:

"groupMembershipClaims": "SecurityGroup"

然后,ID令牌将包含使用所属的组的ID,如下所示:

{
  "groups": ["{group id}"]
}

然后,您可以通过组ID在代码中实现代码逻辑。

对于应用角色,我认为它可能更适合您。您可以add app roles in your application and receive them in the token。配置完成后,您将在授权用户的ID令牌中获得应用角色声明。然后您可以基于它执行判断语句。

此处提供更多信息:Using groups vs using application roles for authorization in Azure AD apps