oauth-2.0 - 如何从服务帐户获取刷新 token

标签 oauth-2.0 google-api jwt google-oauth service-accounts

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

{
  "access_token" : "1/8xbJqaOZXSUZbHLl5EOtu1pxz3fmmetKx9W8CV4t79M",
  "token_type" : "Bearer",
  "expires_in" : 3600
}

响应不包含刷新 token key 。

引用链接:https://developers.google.com/identity/protocols/OAuth2ServiceAccount

最佳答案

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

Oauth2

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

服务帐户

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

关于oauth-2.0 - 如何从服务帐户获取刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52829130/

相关文章:

javascript - Strapi JWT token 生命周期?

javascript - OAuth2认证js客户端

java - 将 Jersey 客户端转换为 HttpUrlConnection

ruby-on-rails-3 - 如何在同一个 Rails 应用程序中同时使用火箭裤和门卫?

google-api - 缩略图 404 错误

android - 如何以编程方式访问 google-services.json 中的 Google API key

php - 从 Google(GMAIL) API 读取电子邮件

json - 为什么在 JWT 中使用 Base64?

django - 收到 InvalidClientIdError (invalid_request) 不匹配的重定向 URI。使用 requests_oauthlib

python - 无法获取 Facebook 电子邮件