angularjs - ADAL JS Angular-WebAPI 向 token 添加新的角色声明

标签 angularjs asp.net-web-api adal

我使用 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/

相关文章:

angularjs - Selectize & AngularJS 不与选择框一起播放(多选)

angularjs - Angular 无需重复 - 正则表达式

angularjs - 在 $scope.$digest 之后立即触发事件

asp.net-mvc-4 - Magick.NET-x64 在部署时抛出 "dll not found"异常

angularjs - 使用深度链接刷新 html 模式 Angular 应用程序

asp.net-mvc-4 - 在 401 上阻止浏览器身份验证对话框

c# - 如何使用 ADAL 在 .NET 中获取代表用户 token

c# - [AADSTS65001] : The user or administrator has not consented to use the application

javascript - 在 Angular 中使用 $http.put 的例子?

ios - ADALiOS 似乎将我的登录重定向到 login.live.com