首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >离线访问。7月5日以后,将桌面appl。如果与访问令牌相关的用户从FB注销,是否能够访问FB数据?

离线访问。7月5日以后,将桌面appl。如果与访问令牌相关的用户从FB注销,是否能够访问FB数据?
EN

Stack Overflow用户
提问于 2012-04-30 19:15:30
回答 1查看 901关注 0票数 2

我还不清楚这种情况--在2012年7月5日之后,如果用户与访问令牌相关的用户从Facebook注销,桌面应用程序是否能够访问Facebook的数据?这里所讨论的是完全删除离线访问,还是仅限制离线访问60天?

文档- https://developers.facebook.com/roadmap/offline-access-removal/没有给出明确的答案(IMHO)。引号:“一旦启用迁移设置,桌面应用程序将自动返回过期时间较长的用户access_tokens。然而,如果不让用户再次登录应用程序,就无法获得一个长寿的用户access_token。“

截至4月30日,我能够请求桌面应用程序具有“offline_access”权限的访问令牌(使用URL:https://graph.facebook.com/oauth/authorize?client_id=APPLICATION_ID&redirect_uri=http://www.facebook.com/connect/login_success.html&scope=manage_pages,read_stream,publish_stream,offline_access )。一切都很好。即使用户注销了。尽管为应用程序启用了“删除offline_access权限”。

您的回答将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2012-04-30 19:29:06

刚刚完成了一个补丁,以适应这些更改。至少在我的经验中,我们在一个web应用程序中工作,在这个应用程序中,更新访问令牌非常简单,只需将所有内容更改为Javascript,并依赖浏览器的登录状态。这似乎是一种更符合逻辑的方法,而不是反复检查服务器端保存的长期过期访问令牌和每一个操作,看看它是否仍然良好。

从本质上说,桌面实现将发生的情况是,默认情况下访问令牌的寿命将更长,但仍然需要在60天期间结束时进行更新。您的应用程序中应该有逻辑,它将在对facebook进行操作之前检查访问令牌的有效性(或者尝试使用提示失败),然后提示用户登录并在access_token过期时重新验证。只要这个逻辑已经到位,过期的访问令牌就会触发重新验证。

如果你的应用程序收到了短有效期的访问令牌.

如果您想刷新仍然有效的长寿命access_token,您必须首先获得一个新的短暂用户access_token,然后调用下面的相同端点。返回的access_token将有一个新的长寿命过期时间,但是,access_token本身可能与先前授予的长寿命access_token相同,也可能不相同。

短命访问令牌(只在会话中持续到注销)将需要使用本文中记录的端点转换为60天的长时间过期访问令牌。默认情况下,配置为新设置的桌面应用程序将收到这类应用程序,但是在60天后仍然需要重新生成新的登录。

我同意,这是一个非常笨拙的实现,尤其是对于桌面应用程序,但从facebook的角度来看,它肯定要安全得多。如果您开始将访问令牌看作是一种短暂的访问凭证,而不是永久的访问凭证,并且开始更改您的逻辑,通过curl或其他http post机制来检查有效性,而不是引用您的数据库,那么您的调整就会轻松得多。不要允许您的架构假设保存的访问令牌的存在可以保证访问,并确保交叉检查它们到facebook端点,并在必要时提示重新登录。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10389270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档