从adal.js(浏览器端)获取access_token以访问graph.windows.net或graph.microsoft.com

时间:2018-03-06 09:18:19

标签: angular adal.js

我正在使用包adal-angular4(更新为与angualr 5一起使用)编写一个角度5应用程序作为adal包装库。

验证工作完美,但是当我尝试获取azure图api的access_token或图微软时,我只得到超时错误。

这是我正在使用的相关代码:

init(): void {

this.adalConfig = {
    tenant: this.configService.get("tenant"),
    clientId: this.configService.get("clientId"),
    endpoints: {
    "https://graph.microsoft.com/": "https://graph.microsoft.com",
    "https://graph.windows.net/": "https://graph.windows.net"
    }
};

this.adalContext = adalLib.inject(this.adalConfig);

this.adalService.init(this.adalConfig);
this.adalService.handleWindowCallback();
//this.adalService.userInfo;    
}

getAzureGraphAccessToken2(): Observable<any> {
let result = new Subject<string>();
this.adalContext.acquireToken('https://graph.windows.net/', (mess, token) => {
    if (token) {
    result.next(token);
    }
});
return result.asObservable();
}

getAzureGraphAccessToken(): Observable<any> {
let result = new Subject<string>();

this.adalService.acquireToken("https://graph.windows.net/").subscribe(token => {
    if (token) {
    result.next(token);
    }
});
return result;
}

我已经编写了两个代码实现来获取令牌,一个使用adal-angualr4包中的adalService包装器,另一个直接实例化adal上下文,在这两种情况下我都得到一个空令牌。

在直接实现(getAzureGraphAccessToken2())中,我也从adal获取此超时消息“令牌更新操作因超时而失败”

有什么建议吗?

祝你好运, 米歇尔

0 个答案:

没有答案