从 passportjs 中的刷新令牌获取 oauth 访问令牌



要确定何时使用刷新令牌来请求新的访问令牌,我知道有两种方法(如下)。这些方法中的任何一种都可以在不修改护照-谷歌-oauth库的情况下吗?

1)"先发制人"的方法

  • 在授予访问令牌时保存其到期时间
  • 每当使用访问令牌访问 API 时,根据当前时间检查到期时间
  • 如果访问令牌未过期,请使用它访问 API
  • 如果访问令牌
  • 已过期(或即将过期),请提供刷新令牌以获取新的访问令牌

2)"处理失败"方法

  • 始终提供访问令牌
  • 如果访问令牌
  • 身份验证失败,请提供刷新令牌,获取新的访问令牌

谢谢。也欢迎任何替代方案。

请注意,Passport 不会主动使用访问令牌或刷新令牌,除了在登录期间获取用户配置文件。 你的应用程序负责在发出任何必要的 API 请求时使用这些令牌。 因此,您可以实现您描述的任何一种方法,Passport 不参与该过程。

另请参阅:https://github.com/jaredhanson/passport-google-oauth/issues/23

我写了一个插件来简化处理这个问题:https://github.com/fiznool/passport-oauth2-refresh

最新更新