【问题标题】:OAuth 2.0 - When should an access token be renewed with refresh token?OAuth 2.0 - 何时应使用刷新令牌更新访问令牌?
【发布时间】:2012-07-11 06:56:38
【问题描述】:

我目前正在使用 OAuth 2.0 访问 Google API。据我了解,我应该使用返回的刷新令牌来更新访问令牌。这应该在过期之前刷新还是应该在用户使用已过期的访问令牌从 api 请求数据时刷新?

如果应该在过期之前完成,我应该只运行一个 cron 作业来更新过期的令牌吗?

我正在使用 node.js 和 mongodb,如果这对推荐的解决方案有任何影响。

非常感谢!

【问题讨论】:

  • 添加一些代码/配置示例如果你想看到一些建议我会怎么做

标签: node.js mongodb google-api oauth-2.0 access-token


【解决方案1】:

它应该是无缝的。

当用户使用已过期的访问令牌从 API 请求数据时,这应该会触发您的框架失败、更新,然后重试。

在我创建的应用程序中不需要任何 cron 作业或类似的东西。

【讨论】:

  • 谢谢,这是有道理的。我想我的困惑来自为什么我需要一个刷新令牌,当(至少使用谷歌)重新授权是无缝的?也感谢提供代码,从这里开始应该没问题!
  • 您能举例说明一下吗?我尝试构建一个应用程序,该应用程序使用有效的 google 身份验证对任何用户进行身份验证,并向他展示他每天的日历事件。我将访问和刷新令牌存储在 db 中,并在我进行谷歌日历 api 调用时使用刷新令牌,如果我在同意页面中同意授予访问权限后立即登录,这将起作用。但如果我在一天后尝试,我会看到 401 错误。