【问题标题】:How to get a refresh token from a service account如何从服务帐户获取刷新令牌
【发布时间】:2019-03-20 14:42:51
【问题描述】:

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

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

响应不包含刷新令牌键。

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

【问题讨论】:

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


    【解决方案1】:

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

    Oauth2

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

    服务帐号

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

    【讨论】:

    • 我不知道。谢谢
    • 给了你更多的背景信息:)
    • 如果当前访问令牌过期,请求新访问令牌的干净流程是什么?例如,是否有一种方法可以自动执行此操作,或者我们检查它是否已过期然后重新创建客户端对象?不确定我的问题是否有意义
    猜你喜欢
    • 1970-01-01
    • 2014-08-17
    • 2017-10-07
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    相关资源
    最近更新 更多