有一个需求是用用户的 access token 定期去用户的 SNS 那边获取一些信息。暂时有接微博、豆瓣和 QQ 的 Oauth ,豆瓣和 QQ 的 access token 失效时间比较长还好一些,微博的只有 7 天有效期。
有 refresh token 的话可以更新一下 access token 多用一段时间。
下面是自己今天测试的一些结果:
- 微博用 SDK 获取到 refresh token ,用服务器通过 API 更新 access token 的时候可以更新到 access token ,但不会返回新的 refresh token
- 豆瓣用 API 获取到 refresh token ,再去更新的时候会获得新的
- QQ 用 API 获取到 refresh token ,再去更新的时候返回的 access token 和 refresh token 都还是旧的(可能是因为时间太短的缘故)
现在有几个问题:
- 豆瓣那里用 refresh token 更新 access token 的时候 refresh token 也会跟着被更新,那有效期也跟着延长吗?(换句话说就是只要在 refresh token 过期前 refresh 一下, refresh token 就可以一直用下去吗?)
- 微博的 refresh token 必须用 SDK 的时候才能获取到,去用 API refresh 的时候不再有新的 refresh token 是不是就是说 等 refresh token 过期了就不行了?
- 大家都有实际去用这个 refresh token 吗?有用的话会在什么时候用?