我使用 ADAL JS 身份验证创建了带有 WEBAPI 后端的 Angular SPA。由于 AD 中没有 Angular 色,我需要手动添加 Angular 色声明,以便让用户访问不同的 API Controller 。
Angular 色存储在数据库中。我期望在 AD 身份验证后通过调用 webapi 注入(inject)额外的声明。 webapi 代码可能如下所示。
identity.AddClaim(new Claim("role", "user"));
var ticket = new AuthenticationTicket(identity, props);
var accessToken = Startup.OAuthBearerOptions.AccessTokenFormat.Protect(ticket);
是否可以用此新 token 替换 ADAL IDtoken?
这是一个可行的解决方案还是有其他更好的方法来处理这个问题?
由于初始 token 是由 AzureAD 生成的,是否可以编辑 token 以添加新声明?任何帮助表示赞赏。
最佳答案
Graph api 支持组声明。参见这里:http://justazure.com/azure-active-directory-part-4-group-claims/
如果您查看该页面上的示例,您会发现用户被分配到组,并且您的应用可以检查声明中的组。在当前版本的门户中,您需要获取应用 list 并对其进行修改。
关于angularjs - ADAL JS Angular-WebAPI 向 token 添加新的角色声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30563515/