如何撤销用户的谷歌刷新令牌?



我允许用户连接他们的谷歌日历帐户,允许他们的患者与他们预约。

如何使用node-js和谷歌日历api撤销用户的刷新令牌?有时用户会要求我们不再访问他们的帐户。我想实现他们的愿望。

这是我正在使用的代码

const {tokens} = await oauth2Client.getToken(request.query.code);
oauth2Client.setCredentials({
access_token: tokens.access_token,
}); // use the new auth client with the access_token
let {data} = await oauth2.userinfo.get({
auth: oauth2Client,
});

尝试revokeToken方法。它需要将特定的accessToken传递给方法:oauth2client.ts#L801

或者有revokeCredentials方法,它不接受任何参数,并撤销OAuth2实例中当前配置的访问令牌:oauth2client.ts#L827

我告诉你使用访问令牌来撤销刷新令牌,这听起来可能很奇怪,但如果你阅读令牌,你会发现它实际上是删除用户对你的应用程序的同意。

一旦用户同意被删除,刷新令牌就会被自动撤销。因此,需要一个访问令牌来调用api端点来撤销刷新令牌。

最新更新