如何查询Google OAuth刷新令牌(refresh token)的过期时间?
查询Google OAuth Refresh Token的有效期
Google OAuth的refresh token不会像access token那样在响应体里直接返回expires_in字段,但有两种无需等待7天就能判断有效期的方法:
通过项目OAuth验证状态判断
已通过Google应用验证的生产环境项目,其生成的refresh token默认永久有效(除非用户主动撤销授权、账号密码变更,或Google检测到异常操作触发失效);未通过验证的测试状态项目,refresh token有效期固定为7天。你可以直接在Google Cloud Console里查看项目的OAuth应用验证状态,就能对应判断当前refresh token的有效期类型。调用Token Info端点解析关联项目
发送GET请求到https://oauth2.googleapis.com/tokeninfo,参数带上refresh_token=你的refresh token,返回结果里的aud字段会对应你的项目ID。通过这个ID确认项目的验证状态,就能间接判断refresh token是永久还是7天有效期。需要注意的是,这个端点不会直接返回过期时间,核心判断逻辑还是绑定项目的验证状态。
总结一下:Google官方没有提供直接返回refresh token过期时间的字段,最直接的判断依据就是项目是否通过OAuth应用验证——已验证的生产项目对应永久有效refresh token,未验证的测试项目对应7天有效期的token。
内容的提问来源于stack exchange,提问作者David Ho
相关产品推荐
相关产品推荐

