Facebook graph api 将Facebook集成添加到web应用程序时,您如何处理OAuth令牌过期以及应保存哪些用户数据?

Facebook graph api 将Facebook集成添加到web应用程序时,您如何处理OAuth令牌过期以及应保存哪些用户数据?,facebook-graph-api,oauth-2.0,Facebook Graph Api,Oauth 2.0,我计划将Facebook集成添加到我正在开发的一个web应用程序中。在大多数情况下,它进行得很顺利,但我对处理OAuth令牌的正确方法感到困惑 Facebook呈现的事件顺序如下: 请用户授权您的应用程序,这会将其发送到Facebook窗口 这将返回Facebook生成的授权码 然后使用授权代码点击,这将为您提供一个有时间限制的OAuth令牌 使用OAuth令牌,您可以请求访问用户的Facebook个人资料 Facebook的文档中有以下关于令牌过期的说明: 除了访问令牌(access_toke

我计划将Facebook集成添加到我正在开发的一个web应用程序中。在大多数情况下,它进行得很顺利,但我对处理OAuth令牌的正确方法感到困惑

Facebook呈现的事件顺序如下:

  • 请用户授权您的应用程序,这会将其发送到Facebook窗口
  • 这将返回Facebook生成的授权码
  • 然后使用授权代码点击,这将为您提供一个有时间限制的OAuth令牌
  • 使用OAuth令牌,您可以请求访问用户的Facebook个人资料
  • Facebook的文档中有以下关于令牌过期的说明:

    除了访问令牌(access_token参数)之外,响应还包含令牌过期之前的秒数(expires参数)。令牌过期后,您需要重新运行上述步骤以生成新代码并访问\u令牌,但如果用户已授权您的应用,则不会提示他们再次授权。如果您的应用程序需要具有无限到期时间的访问令牌(可能是为了在用户不使用您的应用程序后代表用户执行操作),您可以请求脱机访问权限

    当他们说要重新运行上面的步骤时,需要重新运行哪些步骤才能获得新的OAuth令牌?将哪些数据(Facebook UID、授权码、OAuth令牌)保存到本地数据库有意义


    我希望能够让用户继续与我的网站互动,并响应某些用户操作,如果用户想在Facebook墙上发布内容,我希望能够提示用户。

    访问令牌基于时间和会话,不需要存储数据,在用户关闭会话后没有任何用处。 facebook uid是您唯一需要识别用户的东西。 由于Facebook API有时速度非常慢,因此您也可以存储用户名


    但是为了便于识别,您只需要uid。

    自从您提出这个问题以来,facebook提供的文档已经更新