从未调用过 acquireToken 回调

acquireToken callback never called

initial post 将 adal.js 与 Vue.js 整合后,我取得了一些进展。我已成功登录,我希望设置的属性正在 localStorage 中设置。

但是,对 acquireToken 的调用永远不会调用我正在传递的回调。代码如下所示:

let url = 'https://api.webserver.com/api/endpoint';

authContext.acquireToken(url, (err, token) => {
  console.log(`acquiring token for ${url}`);
  console.log(err, token);
});

查看 adal.js 的源代码,acquireToken 的方法签名如下:

AuthenticationContext.prototype.acquireToken(resource, callback)

回调没有被调用。 url 值是我传递的方法所期望的值吗?这个我不清楚。

感谢您的帮助。提前致谢!

根据你的初始化post,你已经完成了Azure AD应用程序的配置,你可以尝试将url替换为client_id,在acquireToken()函数下.

根据 adal for js 的源代码,acquireToken()L515 调用 getCachedToken()

函数getCachedToken()会通过var token = this._getItem(this.CONSTANTS.STORAGE.ACCESS_TOKEN_KEY + resource);获取浏览器会话中的token 登录成功后可以在浏览器DEV TOOL中查看所有AD信息。我们可以发现这里的资源是client_id格式的

在AdalJS 1.0.13版本中,如果想要回调,可以使用如下代码:

                authContext.acquireToken('https://api.webserver.com/api/endpoint').then(function (token) {
                    console.log(token)
                },function(error){
                    console.log('Failed to acquire token');  
                }
            );