我正在使用包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获取此超时消息“令牌更新操作因超时而失败”
有什么建议吗?
祝你好运, 米歇尔