我是通过使用来自acquireTokenWithClientCredentials adal节点包的函数来声明一个访问令牌的。
之后,我使用@microsoft/microsoft-graph-client包创建一个使用Graph的客户端实例。
private client: Client;
async getClient(): Promise<Client> {
if (!this.client) {
const accessToken: string = /* get access token from adal-node */;
this.client = Client.init({
authProvider: (done) => {
done(null, accessToken);
},
});
}
return this.client;
}客户端本身只附带一个api函数。我想知道客户端是负责访问令牌过期,还是必须关心它。
因此,在打电话之前,我可以执行token.expiresOn < new Date()检查令牌是否过期。如果为真,我可以创建一个新的客户端实例。但我想知道我是否必须这样做,或者我只需要初始化客户端一次,一切都会好到“永远”。
发布于 2019-12-25 03:26:58
没有必要自己处理访问令牌过期。
每次需要使用访问令牌时,只需调用acquireTokenWithClientCredentials即可。
如果令牌尚未过期,它仍将返回旧令牌。
如果它到期,它将得到一个新的。
https://stackoverflow.com/questions/59473681
复制相似问题