Angularjs 未使用 Azure Active Directory 进行身份验证

Angularjs doesn't authenticate with Azure Active Directory

我有一个 angularjs Web 应用程序使用 Azure Active Directory 进行身份验证。 应用程序使用的 Web Api 验证无任何错误。

对于客户端身份验证,我使用 adal.js 和 adal-angular.js。 当我尝试访问我的应用程序中的任何页面时,身份验证失败并在控制台中打印以下消息

The returned id_token is not parseable.
Route change event for:/
Start login at:https://localhost:44308/#
Navigate url:https://login.windows.net/myapp.onmicrosoft.com/oauth2/authorize
Navigate to:https://login.windows.net/myapp.onmicrosoft.com/oauth2/authorize
TypeError: Cannot read property 'data' of undefined

我已遵循 this 教程。

有谁知道发生了什么或者我该如何调试它?

不看代码示例很难回答。如果您使用的是承诺,则需要处理承诺被拒绝的情况。你可能有这样的事情:

    myAuthService.authenticate(...).then(function(data){
       //this handles the successful call.
    });

你需要看到的错误是这样的:

        myAuthService.authenticate(...).then(function(data){
           //this handles the successful call.
        }, function(e){
           //this handles the error case
           alert('errror.  inspect this.arguments');
});

您应该 post 抛出错误的代码。

当令牌未正确解码 utf-8 字符时,错误出现在 adal.js 库中。

修复了错误的库更新版本即将推出。