我已经阅读了Microsoft.com上的文档,但只获得了有关授予应用程序彼此交谈权限的答案,而没有得到关于如何对我拥有的每个不同应用程序实施权限系统的答案。 我基本上想知道在我的.Net API和Angular Client上实现授权的最佳实践是什么。 我将使用Azure AD将外部和内部用户重定向到Microsoft登录页面,我缺少细粒度的权限系统来授权用户访问API或Angular Web应用程序上的不同资源。 我是否必须为具有权限的API设置数据库? 将新用户注册到我的广告后,如何将其添加到数据库中?
我在这里真的很困惑,所以我的问题并不是我所希望写的那么清晰。
答案 0 :(得分:1)
将评论汇编成适当的答案:
每用户权限仅限于appRoles,您可以在Azure AD中为用户赋予这些角色。如果需要,您还可以使用安全组来实现类似的目的。但是任何细粒度的事情都必须在应用程序方面实现。
为识别用户,您可以在用户ID令牌/访问令牌中使用两个声明之一。 oid或sub。 oid是Azure AD中唯一的不可变对象ID。子声明是您应用中唯一的不可变ID。因此,每个应用程序都具有相同的oid,但同一用户的子集却不同。 oid声明也可以在调用例如MS Graph API识别用户。