首页 文章

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

提问于
浏览
3

我正在计划将Facebook集成添加到我正在处理的网络应用程序中 . 在大多数情况下,它正在顺利进行,但我对处理OAuth令牌的正确方法感到困惑 .

Facebook here提供的一系列事件是:

  • 要求用户授权您的应用程序,将其发送到Facebook窗口 .

  • 这将返回Facebook生成的授权码

  • 然后使用您的授权码点击https://graph.facebook.com/oauth/access_token,这将为您提供有时间限制的OAuth令牌 .

  • 使用OAuth令牌,您可以发出访问用户Facebook Profiles 的请求 .

Facebook的文档有关于令牌过期的以下内容:

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

当他们说重新运行上述步骤时,需要重新运行哪些步骤来获取新的OAuth令牌? What data (Facebook UID, Authorization Code, OAuth token) does it make sense to save to my local database?

我希望能够让用户继续与我的网站进行交互,并且为了响应某些用户操作,我希望能够提示用户是否要将内容发布到他们的Facebook墙上 .

2 回答

  • 1

    自您提出此问题以来,Facebook提供的文档已更新 . https://developers.facebook.com/docs/authentication/ .

  • 2

    访问令牌是基于时间和会话的,并且是在用户关闭会话之后存储并且没有用的不必要的数据 . facebook uid是您识别用户唯一需要的东西 . 由于Facebook API有时很慢,你可以存储用户名 .

    但是为了识别,你需要的只是uid .

相关问题