Facebook访问令牌有效性

Facebook访问令牌有效性,facebook,oauth,facebook-oauth,Facebook,Oauth,Facebook Oauth,我使用Facebook获得一个长期访问令牌,有效期为60天。由于我需要始终访问用户的帐户(即,我始终需要有效的访问令牌),当令牌即将到期时,我要求用户重新确认对我的应用程序的访问。问题是,当代币尚未过期时,Facebook返回的是同一代币,但没有延长有效期 例如,刚发行的代币有效期为60天。三天后,用户再次确认访问我的应用程序,但Facebook返回相同的令牌,有效期仅为57天。我想在每次确认后获得一份新的(有效期为60天) 关于堆栈溢出,有几个关于Facebook令牌有效性的问题,但是没有一个

我使用Facebook获得一个长期访问令牌,有效期为60天。由于我需要始终访问用户的帐户(即,我始终需要有效的访问令牌),当令牌即将到期时,我要求用户重新确认对我的应用程序的访问。问题是,当代币尚未过期时,Facebook返回的是同一代币,但没有延长有效期

例如,刚发行的代币有效期为60天。三天后,用户再次确认访问我的应用程序,但Facebook返回相同的令牌,有效期仅为57天。我想在每次确认后获得一份新的(有效期为60天)

关于堆栈溢出,有几个关于Facebook令牌有效性的问题,但是没有一个讨论这个问题

先谢谢你

根据“从服务器端登录流创建的应用程序会自动获取长寿命用户访问令牌。每当用户触发身份验证流时,该长寿命令牌就会刷新和扩展。”

既然这种情况没有发生,你应该这样做

我还建议不要检查访问令牌过期,因为访问令牌在过期日期之前可能会因以下几个原因而过期:

  • 用户更改密码
  • 你更改了你的应用程序密码
  • 用户删除应用程序,然后返回应用程序

相反,您应该在每次FB api调用中检查OAuth错误,然后在检测到OAuth错误时将用户重定向到登录流,如Facebook开发者博客上的本文所述。

谢谢。我知道您描述的情况,所以我会定期检查FB端的令牌是否无效。我会在Facebook上提交错误报告。小心点。你不应该“定期”检查。你应该检查每一个FBAPI调用。在我们的应用程序中有各种各样的组件使用这些令牌,所以我对它们的使用方法没有什么可说的。这就是维护令牌的组件定期检查其有效性的原因。