Facebook oauth2 API刷新令牌

Facebook oauth2 API刷新令牌,facebook,facebook-graph-api,oauth-2.0,Facebook,Facebook Graph Api,Oauth 2.0,我正在构建一个没有客户端接口的应用程序 在设置步骤:用户使用oauth通过浏览器登录到服务器,服务器确保客户机被识别 从这一点上说,没有浏览器受到攻击。这一切都发生在背景中。 然后,只要用户能够被验证,它就会一直代表用户。 这意味着每隔一段时间,我的服务器需要调用oauth提供程序来验证用户是否仍然存在。 到目前为止,我只使用过GoogleOAuth:偶尔,我会调用RefreshTokenAPI,并从服务器端无限期地获得一个新的令牌。(当您获得用户令牌时,需要请求“脱机访问”) 现在我也想使用f

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

在设置步骤:用户使用oauth通过浏览器登录到服务器,服务器确保客户机被识别

从这一点上说,没有浏览器受到攻击。这一切都发生在背景中。 然后,只要用户能够被验证,它就会一直代表用户。 这意味着每隔一段时间,我的服务器需要调用oauth提供程序来验证用户是否仍然存在。 到目前为止,我只使用过GoogleOAuth:偶尔,我会调用RefreshTokenAPI,并从服务器端无限期地获得一个新的令牌。(当您获得用户令牌时,需要请求“脱机访问”)

现在我也想使用facebook,但在阅读他们的API时,我发现没有提到服务器刷新其令牌的可能性: 看起来这一切都必须从客户端设备完成。
由于我没有客户端设备,这是否意味着我无法使用facebook编写此类应用程序?

我认为可以通过facebook的机制覆盖您的场景。但如果在使用长寿命访问令牌时发生错误,则需要支持重新登录。这可能是由于Facebook采取的安全措施(例如:-数据泄露、密码泄露)或当用户撤销令牌或更改密码时,或当令牌长时间不使用时发生的

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

  • 这些都是短暂的

    短期代币的寿命通常为一到两个小时

  • 即使不使用,它们的使用寿命也在60天左右

    长寿代币一般持续60天左右

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

    但如前所述,这些代币可能会过期

    当使用你的应用程序的人向Facebook的服务器发出请求时,这些代币每天刷新一次如果没有请求,令牌将在大约60天后过期,用户必须再次通过登录流才能获得新令牌。


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

    我认为你的情况可以通过Facebook的机制来解决。但如果在使用长寿命访问令牌时发生错误,则需要支持重新登录。这可能是由于Facebook采取的安全措施(例如:-数据泄露、密码泄露)或当用户撤销令牌或更改密码时,或当令牌长时间不使用时发生的

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

  • 这些都是短暂的

    短期代币的寿命通常为一到两个小时

  • 即使不使用,它们的使用寿命也在60天左右

    长寿代币一般持续60天左右

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

    但如前所述,这些代币可能会过期

    当使用你的应用程序的人向Facebook的服务器发出请求时,这些代币每天刷新一次如果没有请求,令牌将在大约60天后过期,用户必须再次通过登录流才能获得新令牌。


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

    你说得对。当令牌不再有效时,用户需要通过浏览器获取新令牌。您是正确的。当令牌不再有效时,用户需要通过浏览器获取新的令牌。我不明白这是如何解决问题的。60天后我该怎么办?用户将失去对我的应用程序的访问权限…“60天后我该怎么办?”-您通知用户其访问令牌已无效(或即将无效),用户必须再次“访问”您的应用程序才能创建新的应用程序。“用户将失去访问我的应用程序的权限…”-如果他们不愿意每两个月执行一次小动作,那么你的应用程序为他们做的事情对他们来说可能一开始就不那么重要了。@eshalev好吧,你可以在糟糕的用户体验…和根本不做之间做出选择。Facebook不再允许应用程序永远以用户的名义执行操作,这只是滥用了太多。因此,您可以通过登录流somwhere为用户提供一种生成新访问令牌的方法,或者……告别您的应用想法。@04FS无需告别任何东西。该产品已经存在,并与其他大型oAuth提供商合作。我只是很惊讶,和其他大公司不同,Facebook不支持后端刷新令牌。这似乎是一个足够常见的用例。我发布这个问题是因为我认为我误读了文件。。。有点期待FB拥有与谷歌/微软/任何其他互联网巨头同等水平的API。Facebook过去是,但现在不再是了。你们所有其他的“巨人”在影响上一次美国选举中并没有扮演如此重要的角色……所以他们也不必做出如此剧烈的改变。我不明白这是如何解决问题的。60天后我该怎么办?用户将失去对我的应用程序的访问权限…“60天后我该怎么办?”-您通知用户其访问令牌已无效(或即将无效),用户必须再次“访问”您的应用程序才能创建新的应用程序。“用户将失去对我的应用程序的访问权…”-如果他们不愿意每两个月执行一次小动作,那么你的应用程序为他们所做的事情可能对他们一开始就不那么重要了。@eshalev