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

max*_*max 7 oauth google-api node.js google-oauth passport.js

要确定何时使用刷新令牌来请求新的访问令牌,我知道两种方法(下面).如果不修改passport-google-oauth库,这些方法中的任何一种都可以吗?

1)"先发制人"方法

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

2)"手柄故障"方法

  • 始终提供访问令牌
  • 如果访问令牌无法进行身份验证,请提供刷新令牌,获取新的访问令牌

谢谢.也欢迎任何替代品.

Tom*_*cer 6

我写了一个插件,使处理这个更容易:https://github.com/fiznool/passport-oauth2-refresh


Jar*_*son 5

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

另见:https://github.com/jaredhanson/passport-google-oauth/issues/23