如果未传递userId,则getsTokenAsync方法抛出错误

时间:2018-05-31 18:26:35

标签: azure cordova adal azure-ad-graph-api intune

我在 Ionic 移动应用上使用Active Directory Authentication Library (ADAL) library for Apache Cordova。我遇到了一个调用 acquireTokenAsync

的问题

注意:我正在使用Microsoft Intune并且我启用了代理身份验证

enter image description here

来自acquireTokenAsync调用的生成令牌“显示”有效,但当我运行帖子(帖子在我的快速中间件中发生)到 https://login.microsoftonline.com/时********* * / oauth2 / token ,我收到以下错误消息。正如您在上图中的调用签名中所看到的,userId 应该是可选的。

enter image description here

当我避免使用userId 可选参数时,任何人都有任何想法发生这种情况的原因?如果我包含userId

,我不会收到此错误消息

以下是我在帖子中使用的配置对象 / oauth2 / token endpoint

            grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
            client_id: ********,
            client_secret:*******
            assertion: ******
            requested_token_use: 'on_behalf_of',
            resource: ‘https://graph.microsoft.com/’,
            scope: 'openid email offline_access User.Read Calendars.Read Calendars.ReadWrite Calendars.ReadWrite.Shared'

这是我的环境配置 cli包:(/ usr / local / lib / node_modules)

@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

全球套餐:

cordova (Cordova CLI) : 8.0.0 

本地包裹:

@ionic/app-scripts : 3.1.9
Cordova Platforms  : android 7.1.0 ios 4.5.4
Ionic Framework    : ionic-angular 3.9.2

系统:

Android SDK Tools : 26.1.1
ios-deploy        : 1.9.2 
Node              : v8.11.1
npm               : 5.6.0 
OS                : macOS High Sierra
Xcode             : Xcode 9.3 Build version 9E145 

1 个答案:

答案 0 :(得分:0)

事实证明,该问题与userId不相关。 cordova库引用的是本机库的旧版本,并且不包含可以解决此问题的最新版本。