问题描述
我使用以下代码获取访问令牌。
protected async getAccessToken(): Promise<string> {
return await this.context.aadTokenProviderFactory
.getTokenProvider()
.then((tokenProvider: AadTokenProvider): Promise<string> => {
return tokenProvider.getToken(Config.resourceEndpoint,false);
})
.catch(error => {
console.error("getAccessToken",error);
return null;
});
}
每次获得的访问令牌都是相同的,但是此令牌将在一小时后过期,这将导致我无法访问azure Web应用程序上的webapi。我怎么解决这个问题?有没有人遇到过类似的问题?
解决方法
如果您每次调用tokenProvider.getToken(Config.resourceEndpoint,false)
,它总是会为您提供有效的访问令牌,即,它会在一个小时后(无论何时到期)在内部刷新令牌并退还给您。您无需在代码中进行处理。