Facebook OAuth2 API刷新令牌



我正在构建一个没有客户端接口的应用程序。

在设置步骤中:用户一旦使用OAuth浏览器将登录到服务器,并且服务器确保确定客户端。

从这一点上开始,没有浏览器会被侵入。这一切都发生在后台。然后,只要可以验证用户,它就会不断代表用户行动。这意味着偶尔,我的服务器需要致电OAuth提供商来验证用户仍然存在。到目前为止,我只使用了Google Oauth:不时,我会调用Refreshtoken API,并从服务器端无限地获得新的令牌。(获得用户令牌时,您需要要求"离线访问")。

现在我也想使用Facebook,但是阅读他们的API,我认为服务器可以刷新它是令牌的可能性:https://developers.facebook.com/docs/facebook-login/access-tokens/refreshing/看起来这一切都必须从客户端设备完成。由于我没有客户端设备,这是否意味着我无法使用Facebook编写此类应用?

我认为您的场景可以通过Facebook的机制涵盖。但是,如果在使用长期活着的访问令牌时出现某些错误,则需要支持重新使用。这可能是由于Facebook采取的安全措施( - 数据泄露,密码漏洞)或用户撤销令牌或更改密码或何时未使用令牌的时间。

遵循的步骤(根据他们的文档),

  1. 获得用户访问令牌

    这些是短暂的

    短寿命的寿命通常大约一两个小时

  2. 将短暂的令牌交换为长寿令牌

    即使不使用它们,这些寿命也约为60天。

    长寿的象征性通常持续约60天。

基本上,一旦您获得了长期存在的令牌,就可以从服务器应用程序中使用它。在此过程中,您需要一个使用浏览器的客户端,仅获得短期的访问令牌。

,但如前所述,这些令牌可以到期,

当使用您的应用程序的人向Facebook服务器提出请求时,这些令牌每天一次刷新一次。如果未提出请求,令牌将在大约60天后到期,并且该人将不得不再次通过登录流程才能获得新的令牌。

因此,您需要通过以上两个步骤来获得新的。

最新更新