如何从服务帐户获取刷新令牌

Say*_*ame 4 google-api oauth-2.0 jwt google-oauth service-accounts

是否可以从发送到“/oauth2/v4/token”路径的JWT请求中获取refresh_token?

{
  "access_token" : "1/8xbJqaOZXSUZbHLl5EOtu1pxz3fmmetKx9W8CV4t79M",
  "token_type" : "Bearer",
  "expires_in" : 3600
}
Run Code Online (Sandbox Code Playgroud)

响应不包含刷新令牌密钥。

参考链接:https://developers.google.com/identity/protocols/OAuth2ServiceAccount

DaI*_*mTo 6

服务帐户不返回刷新令牌。服务帐户不需要刷新令牌。当您需要时,服务帐户本身可用于请求新的访问令牌。

认证2

使用普通的 oauth2,您可以使用客户端 ID 和密钥向资源所有者(用户)请求访问数据的权限。如果用户授予您访问权限,您将获得一个访问令牌,并且可能会返回一个刷新令牌(如果您请求离线访问)。此刷新令牌基于创建它的用户和客户端。每次您使用刷新令牌时,它都会返回一个访问令牌,使您可以访问授予您访问权限的用户所拥有的用户。

服务帐户

服务帐户是一个用户。它可以访问一些已经设置的数据。每当您使用它创建访问令牌时,它总是会返回相同的访问权限。它不像 oauth2 那样特定于用户。