1

我在Ionic移动应用程序上使用Apache Cordova 的 Active Directory 身份验证库 (ADAL) 库。我遇到了调用acquireTokenAsync的问题

注意:我使用的是 Microsoft Intune,并且启用了代理身份验证

在此处输入图像描述

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

在此处输入图像描述

当我避免使用 userId可选参数时,任何人都知道为什么会发生这种情况?如果我包含 userId,我不会收到此错误消息

这是我在发布到/oauth2/token 端点的帖子中使用的配置对象

            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 
4

1 回答 1

0

原来这个问题与 userId 无关。cordova 库引用了旧版本的本机库,并且不包括可以解决此问题的最新版本。

于 2018-07-25T18:41:43.377 回答