2012-06-10 52 views
0

我不得不承认在服务器端更新过期令牌的过程,因为FB用户已注销,使我感到困惑。处理过期令牌的解决方案as presented on this page似乎只在用户查看可能提示所述用户重新授权应用程序的服务器页面(JS location.href重定向到FB对话URL)时才起作用。如何处理来自服务器端的过期令牌

如果服务器端应用程序由于需要一些时间的处理而保存了访问令牌会怎么样?如果在几小时/天之后,服务器想要使用简短或长期令牌向用户的墙贴一些内容,但用户已经退出Facebook - 那么呢?当然,由于用户的注销状态,请求会失败,但这似乎也意味着服务器在登录到Facebook之前没有有效的方式发布到用户的墙上(并且应用恰好尝试在正确的时间再次发布)。

我在这里还是错过了一些明显的东西?似乎是一个疯狂的场景,以防止基于服务器的应用程序仅仅因为所述用户已经注销(我确信许多许多用户定期执行)而将其发布到预授权用户的隔离墙。为什么注销==取消授权访问令牌?而且,如果用户重新登录,现有访问令牌是否再次有效,或者是否需要全部新令牌(假设我们已获得60天令牌)?

回答

0

为什么注销==取消授权访问令牌?

它没有。长期访问令牌不会因为用户从Facebook注销而无效!

所以得到一个长期的,有效期为六十天 - 并且你很高兴在需要令牌之后发布或做任何事情。如果60天结束,并且用户还没有与您的应用进行互动,那么您必须让用户回到您的应用以获取新的令牌。

+0

我的观点是,如果用户退出Facebook,根据我提供的链接中的信息,任何使用短或长期令牌发布到他们的墙(或任何其他)的企图显然都会失败: '然而,很多开发人员没有意识到的是,访问令牌还可以,如果用户更改自己的密码过期,**注销**或者,如果她去授权通过App Dashboard.' (我的重点) – Snouto

+0

该应用程序文档已过时,因为offline_access权限已被弃用。阅读这样的:我贴是你现在引用页面https://developers.facebook.com/roadmap/offline-access-removal/ – CBroe

+0

的链接,如果你读你的链接的最后部分,你会看到引用再次用于处理由于用户注销而过期的令牌。 – Snouto

相关问题