来自 Microsoft Graph-Client 的客户端实例是否会刷新令牌本身?



我通过使用adal-node包中的acquireTokenWithClientCredentials函数来声明访问令牌。

之后,我使用@microsoft/microsoft-graph-client包创建一个使用 Graph API 的客户端实例。

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()检查令牌是否已过期。如果为 true,我可以创建一个新的客户端实例。但是我想知道我是否必须或我只需要初始化一次客户端,一切都会"永远"好起来的。

无需自行处理访问令牌过期。

每次需要使用访问令牌时,只需调用acquireTokenWithClientCredentials即可。

如果令牌尚未过期,它仍将返回旧令牌。

如果它过期,它将获得一个新的。

最新更新