想象一下这样的情况: 我已经将Web API应用程序部署为azure作为应用程序服务。我要做的是在此Web API中实现基于角色的操作。问题是,将从其他MS产品(例如Dynamics CRM,Sharepoint Online等)调用此API,并且应从该另一产品中将操作作为经过身份验证的用户调用。为了简化:
您是否有一些有关如何实现此目标的材料和教程?我们已经花了很多时间对此进行研究,但没有找到有关这种简单案例的任何信息。
答案 0 :(得分:0)
我相信您正在寻找group claim或app 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。