我有一个Angular SPA前端,它由ASP.net核心2 Web API备份,该API位于不同的Azure Web App中。 Azure AD锁定此Web API,Angular和后端API的AD租户相同。我希望Azure AD租户中的所有用户都能够访问前端和后端API。但是,很少有用户需要具有特定权限(创建/更新)。
我可以在Azure AD中创建应用注册,并对SPA和后端API使用相同的应用注册。然后在SPA中使用ADAL.js获取访问令牌和id令牌,并将其传递给后端Web API。我不确定的是,用户的角色是否会在Web API声明中出现?我打算将用户添加到特定的应用程序角色。
答案 0 :(得分:1)
如果用户在他们正在登录的应用上拥有角色,则角色将位于ID令牌中。 使用注册为Native应用程序的SPA,您基本上无法拥有角色,因为无论如何用户完全控制前端。 如果用户在该API上具有角色,则角色将位于访问令牌中。
您有两个选择: