我刚刚开始使用Google API和OAuth2.当客户端授权我的应用程序时,我会获得一个"刷新令牌"和一个短暂的"访问令牌".现在每次访问令牌到期时,我都可以将刷新令牌发送给Google,他们会给我一个新的访问令牌.
我的问题是访问令牌到期的目的是什么?为什么不能只使用持久访问令牌而不是刷新令牌?
此外,刷新令牌是否到期?
有关Google OAuth2工作流程的详细信息,请参阅使用OAuth 2.0访问Google API.
我在短时间内多次使用刷新令牌进行测试,但我不知道,Google刷新令牌会过期吗?或者我可以调用相同的刷新令牌以在很长一段时间(一周甚至几个月)内反复获取另一个访问令牌?
好了,这个问题已经被问过这里.在响应/问题的答案,用户告诉他存储refresh_token在应用程序(会话,而不是数据库,但不要紧,你保存它).在浏览了Google上的文档后,似乎access_token有一个到期日期,之后它就不再有效了.现在,我们显然可以在每个固定的时间间隔内自动刷新令牌,或者如果服务返回无效的令牌错误,从而延长令牌的生命周期,但由于某种原因,这个手动过程感觉有点hacky.我的问题是:
谷歌oauth2刷新令牌何时到期?
到期时我的意思是到期,因为已经过了一定的时间跨度(不是因为用户已经撤销了访问权限,或者因为用户请求了新的刷新令牌)
我做了一些研究,没有一个引用官方谷歌文档(我也找不到有效的谷歌文档)
其他一些问题说它因时间而永不过期:
https://community.fitbit.com/t5/Web-API-Development/Invalid-or-expired-refresh-tokens/td-p/1048159
虽然其他人说它会过期(有人说14天,其他人说60天)
这个说了14天为什么刷新令牌在14天后到期
这个说60天https://blog.box.com/blog/oauth2-update-longer-lived-refresh-tokens/
这个说"很长时间"(没有准确的时间)https://medium.com/@bantic/more-oauth-2-0-surprises-the-refresh-token-1831d71f4af6
由于一定的要求,我需要一个永不过期的刷新令牌,因为时间的流逝,所以我需要一个刷新令牌,在20年左右之后仍然可以使用
如果刷新令牌在那之前到期,那么我将需要改变我的方法,所以我需要知道它们是否到期