此 SO 回复中描述的 OAuth2 的正常流程如下:
- 使用访问令牌发送 API 请求
- 如果访问令牌无效,请尝试使用刷新令牌对其进行更新
- 如果刷新请求通过,更新访问令牌并重新发送初始 API 请求
- 如果刷新请求失败,要求用户重新认证
这对于大多数 API 调用来说都很好,但我想知道一件事:身份验证。
当用户尝试使用他们最喜欢的服务登录我喜欢的新 web 应用程序时,我应该使用他们的刷新令牌(或在 OAuth1 的情况下缓存的访问令牌)尝试登录,还是应该总是去获取一个新的令牌来自服务提供商(Google、Facebook 等)并丢弃存储的访问和刷新令牌?