消息角度预览Azure AD同意范围和访问令牌版本错误

时间:2018-12-12 08:47:26

标签: angular asp.net-core dynamics-crm azure-active-directory msal

我正在更新我的Web应用程序以使用新的msal库@ azure / msal-angular。我以前使用过旧的adal库。前端Web应用程序是用angular 5编写的,它调用作为ASP Net Core Web API的后端应用程序。他们两个都在Azure AD(应用程序v1)中使用相同的应用程序注册。前端应用程序向Microsoft Graph api,Dynamics CRM和后端Web api发出请求。我不使用msal获取访问令牌方法,仅使用msal配置。在配置中,我只能将作用域用于Microsoft图形或Dynamics CRM。如果同时使用两者,则会收到Microsoft的错误提示,说明我的范围不正确。当我使用Dynamics CRM范围,crm url +'/.default'时,我没有访问令牌,出于某种原因,我的后端令牌也是2.0版,即使我有,也总是征求管理员同意已经给了。前端请求使用@ ngx-resource / core库。当我执行后端Web api请求时,在ResourceHandlerHttpClient.prototype.handleResponse中请求管理员同意,而且传递的req属性具有空的标头属性,因此从req标头属性获取键时出现另一个错误。

我不明白为什么我得到一个空的req标头属性,前端应用程序中唯一的不同是我试图使用新的msal库。

有人可以告诉我如何正确配置我的msal配置,以便我可以通过所有必要的同意并获得三个所需的访问令牌(版本1.0)吗?

我的目标是从angular5项目中删除adal库,并使用msal库获取与adal相同的令牌。

1 个答案:

答案 0 :(得分:0)

关于此问题,我认为您应该在Azure门户中注册一个新应用程序。有关更多详细信息,请参阅document