我正计划将 Facebook 集成添加到我正在开发的网络应用程序中。在大多数情况下,它进展顺利,但我对处理 OAuth 令牌的正确方法感到困惑。
Facebook在这里展示的事件顺序是:
- 要求用户授权您的应用程序,这会将他们发送到 Facebook 窗口。
- 这将返回 Facebook 生成的授权码
- 然后,您使用您的授权码点击https://graph.facebook.com/oauth/access_token,这将为您提供一个有时间限制的 OAuth 令牌。
- 使用 OAuth 令牌,您可以请求访问用户的 Facebook 个人资料。
Facebook 的文档对令牌过期有以下说法:
除了访问令牌(access_token 参数)之外,响应还包含令牌过期前的秒数(expires 参数)。令牌过期后,您将需要重新运行上述步骤以生成新代码和 access_token,但如果用户已经授权您的应用程序,则不会再次提示他们这样做。如果您的应用需要一个无限期的访问令牌(可能在用户不使用您的应用后代表用户执行操作),您可以请求offline_access 权限。
当他们说重新运行上述步骤时,需要重新运行哪些步骤才能获得新的 OAuth 令牌?将哪些数据(Facebook UID、授权码、OAuth 令牌)保存到我的本地数据库有意义?
我希望能够让用户继续与我的网站进行交互,并且为了响应某些用户操作,我希望能够提示用户是否想在他们的 Facebook 墙上发布内容。