Cordova ADAL Azure AD acquireTokenAsync失败,出现证书错误

时间:2016-02-10 19:14:13

标签: android ios cordova azure azure-active-directory

我正在关注this Microsoft Azure Cordova ADAL教程。我使用带有所有最新更新的Visual Studio 2013将示例应用程序部署到我的Android设备。当我按预期键入文本框并按搜索时,应用程序会将我重定向到Microsoft提供的登录页面,我应该输入我的业务域/租户凭据以从Azure Active Directory接收令牌。

我重定向到的屏幕类似于下面的屏幕。唯一的区别在于它表示"登录",它列出了我在Azure门户中添加到Azure AD的本机客户端应用程序名称。 enter image description here

在,应用程序我输入我的电子邮件地址并下移到密码。在我能够输入密码之前,该页面似乎是POST并开始验证我输入的电子邮件地址。我认为这应该是这样发生的,但这不是我的问题。

在开始尝试验证我的电子邮件地址后不久,我收到以下错误:

// composer.json

// ...

"autoload": {
    "psr-0": {
        "YourNamespace\\YourLib": "src/"
    }
},

// ...

从以下Failed to authenticate: Code:-11 primary error: 3 certificate: Issued to: CN=fed.<mydomain>.com,OU=<private>,O=<private>,L=Boston,ST=Massachusetts,C=US; Issued by: CN=GeoTrust SSL CA - G3,O=GeoTrust Inc.,C=US; 函数生成:

app.context.acquireTokenAsync

我可以请求Stack社区帮助找出原因/解决方法吗?构建基于Cordova的Android / iOS应用程序需要Azure AD身份验证,这是一个障碍。

3 个答案:

答案 0 :(得分:0)

您可能无法将本地ADFS(或同等产品)使用的证书部署到您的Android设备。 ADAL将仅允许通过有效SSL通道传输的连接,也就是说基于CA链可信且其主题与端点的URL完全匹配的证书。

答案 1 :(得分:0)

经过测试,我们发现部署到iOS后,同样精确的应用程序能够使用ADAL进行身份验证,而在Android上则无法进行身份验证。

正如我们的网络团队向我解释的那样,他们需要从桥接切换到传递,因为中间证书没有到达Android,而iOS能够自行检索它并解释了它的工作原理

答案 2 :(得分:0)

然而,这是某些手机型号。要完成此操作,请转到“应用程序”并禁用或删除 Android WebView 应用程序。