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

8
为了确定何时使用刷新令牌来请求新的访问令牌,我知道两种方法(如下)。这些方法是否可能在不修改passport-google-oauth库的情况下实现?
1)“预防性”方法
- 在访问令牌被授予时保存访问令牌的过期时间 - 每次使用访问令牌访问API时,检查过期时间与当前时间 - 如果访问令牌未过期,则使用它来访问API - 如果访问令牌已过期(或接近过期),则提供刷新令牌以获取新的访问令牌
2)“处理失败”方法
- 总是提供访问令牌 - 如果访问令牌无法验证,则提供刷新令牌,获取新的访问令牌
谢谢。也欢迎任何其他选择。
2个回答

7
请注意,Passport除了在登录期间获取用户配置文件之外,不会主动使用访问令牌或刷新令牌。您的应用程序负责在进行必要的API请求时使用这些令牌。因此,您可以实现您描述的任何一种方法,Passport不参与该过程。
另请参见:https://github.com/jaredhanson/passport-google-oauth/issues/23

你是一个真正的英雄 :-D - ShrekOverflow

6

非常好,谢谢 - 非常顺畅地将passport-google-oauth和google-api-nodejs-client与edit-google-spreadsheet集成在一起。 - Timothy Johns
请参见基本用法下的第4个动态令牌,网址为:https://github.com/jpillora/node-edit-google-spreadsheet。我现在只需调用 refresh.requestNewAccessToken() 即可。 - Timothy Johns

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接