2

我正在使用下面的 URL 来获取身份验证令牌:

https://www.facebook.com/dialog/oauth?client_id=CLIENT_ID&redirect_uri=RETURN_URL&scope=manage_pages,publish_stream

code此页面将使用查询字符串中的令牌重定向到另一个 URL 。我正在使用此code令牌自动获取页面访问令牌并“离线”发布到页面。

最近几天,Facebook 似乎更改了这个令牌的到期时间code

我可以使用这个令牌一次。有效期很短。有人知道facebook是否真的发生了变化?有没有其他选择可以解决这个问题?

4

1 回答 1

4

这是 12 月 5 日路线图变更的一部分:code只能兑换access_token一次,并且必须在生成后的 10 分钟内兑换。

OAuth 授权代码的新安全限制 我们只允许将授权代码交换为访问令牌一次,并要求在创建后 10 分钟内将它们交换为访问令牌。这符合 OAuth 2.0 规范,该规范从一开始就声明“授权码必须是短暂的且一次性使用”。有关更多信息,请查看我们的身份验证文档。

如果您不确定如何正确登录用户,因为您依赖于旧的、不正确的行为,请确保您使用的是最新的 SDK 并详细阅读登录文档,特别是显示如何交换的服务器端登录文档令牌代码

获得令牌后,使用应用程序使用的任何会话存储机制将其保存(PHP SDK 将为您将其存储在 PHP 会话中)并在后续调用中使用访问令牌,而不是尝试access_tokencode

于 2012-12-10T20:53:16.967 回答