cordova插件

时间:2016-01-28 14:58:05

标签: cordova azure azure-active-directory

我正在关注示例,以便在此处向cordova应用添加身份验证: https://github.com/Azure-Samples/active-directory-cordova-multitarget

我已注册我的租户并设置了权限。我有以下行来检索访问令牌:

authContext.acquireTokenAsync('https://graph.windows.net', 'myappid', 'http://myappnamehere')
    .then(function(authResult) {
        // success handler
        alert(authResult.userInfo);
    });

当我运行应用程序时,我会被重定向到microsoft登录页面并成功进行身份验证。它会将我重定向回我的应用页面并在警报上显示为null。我检查了authResult,statusCode属性为'Failed',accessToken为null。没有其他信息可以帮助我找出问题所在。

我修改了插件的源代码以返回更多属性,包括'errorLogInfo'属性,该属性返回以下消息:

  

ErrorCode:invalid_grant用户或管理员未同意使用ID为“myappid”的应用程序。发送此用户和资源的交互式授权请求。

我从我的MSDN Azure帐户运行此示例并使用Azure帐户的所有者登录。当我使用我在租户上创建的用户运行相同的示例时,它可以成功运行。

  • 为什么示例适用于我在租户中创建的随机用户,而不适用于管理员帐户?
  • 我如何'发送交互式授权请求',如错误消息中所述?

1 个答案:

答案 0 :(得分:1)

您的管理员是Microsoft帐户(例如LiveID)吗?如果是这种情况,则无法将其与/ common端点一起使用。如果您在权限网址中使用租户域而不是/ common,则会看到您的管理员能够成功获得令牌。