【问题标题】:google oauth refresh token long lived solutionsgoogle oauth refresh token 长寿命解决方案
【发布时间】:2016-02-23 02:00:59
【问题描述】:

Google OAuth 2.0 访问令牌有一个到期时间。我已将 Google Calendar API 集成到我的 Ruby 应用程序中,但问题是访问令牌即将到期。如何使访问令牌长寿命。

cal.login_with_refresh_token('ksdjkf_sdfkasdhfjhaskjdhfkasdhfkasjdlfasld')

{ "access_token" => "ksdjkf_sdfkasdhfjhaskjdhfkasdhfkasjdlfasld",

"token_type" => "承载者",

"expires_in" => 2324

}

如何使它成为一个长期存在的事件,这意味着除非他从他的 Google 帐户撤消访问权限,否则用户可以获取他的日历事件。

【问题讨论】:

  • @DaImTo 做出更正谢谢
  • 请求离线访问以获取刷新令牌,并使用刷新令牌获取新的访问令牌。抱歉,我不能帮助 Ruby。
  • @DaImTo 你没有回答这个问题。我有同样的问题。 Use the refresh token to get a new access token 相当模糊,没有显示任何示例。您能否详细说明这是如何完成的。我知道必须有某种 API 来允许静默令牌刷新,而不会在令牌过期时强制用户重新进行身份验证。我的用例是 NodeJS,我正在使用 Google OAUTH NodeJS 库。
  • @user15155716 您正在评论一个已有六年历史的问题。我不是 ruby​​ 开发人员,所以我不能给你任何关于 ruby​​ 的帮助。您应该尝试搜索Ruby sample 客户端库有很多示例。事实是,如果设置正确,客户端库应该为您处理所有刷新。

标签: ruby-on-rails oauth oauth-2.0 google-calendar-api google-oauth


【解决方案1】:

以下是为 Google API 创建长期 OAuth 令牌的方法:

  1. 访问http://console.developers.google.com
  2. API 管理器
  3. 凭据
  4. 创建凭据(OAuth 客户端 ID)
  5. 应用程序类型:Web 应用程序
  6. 授权重定向 URI:https://developers.google.com/oauthplayground
    • 生成的客户端 ID/客户端密码用于您的访问令牌
  7. 访问:https://developers.google.com/oauthplayground/
  8. 单击设置图标以显示 OAuth 2.0 配置
  9. 勾选“使用您自己的 OAuth 凭据”
  10. 输入您刚刚创建的 OAuth 客户端 ID 和 OAuth 客户端密码
  11. 检查范围字段中的“Calendar API v3”条目,然后单击“授权 API”
  12. 点击“允许”
  13. 点击“交换令牌授权码”
    • 现在您的客户端 ID/密码拥有一个刷新令牌和访问令牌

这是一个使用带有 ruby-api-client gem 的 oauth 令牌通过 signet 与 Google Play API 对话的示例。您应该能够修改此示例以非常轻松地使用日历 API:

https://gist.github.com/jkotchoff/e60fdf048ec443272045

请注意,此内容的灵感来自:https://www.youtube.com/watch?v=hfWe1gPCnzc

【讨论】:

    猜你喜欢
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多