撤销Google服务帐户访问令牌

时间:2020-11-11 11:48:35

标签: google-api google-oauth service-accounts google-api-js-client

我尝试使用POST https://oauth2.googleapis.com/revoke?token=ACCESS_TOKENdocumentation)撤销服务帐户的令牌

但它说,

{“ error”:“ invalid_request”,“ error_description”:“令牌不可撤消。” }

还尝试了GET https://accounts.google.com/o/oauth2/revoke?token=ONLINE_ACCESS_TOKEN,这给出了相同的错误消息。

我使用以下功能获取服务帐户的访问令牌。

function getAccessToken() {
 return new Promise(function(resolve, reject) {
  const key = require('../placeholders/service-account.json');
  const jwtClient = new google.auth.JWT(
   key.client_email,
   null,
   key.private_key,
   SCOPES,
   null
  );
  jwtClient.authorize(function(err, tokens) {
   if (err) {
    reject(err);
    return;
   }
   resolve(tokens.access_token);
  });
 });
}

1 个答案:

答案 0 :(得分:1)

撤消仅适用于Oauth2凭据。用户对您的应用程序进行身份验证时,他们将授予您的应用程序对其数据的访问权限。通过撤消该访问权限,您可以删除该授权。

服务帐户是经过手动预授权的。您需要从授权该服务帐户的任何api中删除该授权。