【问题标题】:Facebook oAuth Access Token supposedly "never" expiringFacebook oAuth 访问令牌据称“永不”过期
【发布时间】:2013-01-16 15:47:52
【问题描述】:

我正在使用扩展访问令牌系统将颁发的 oAuth 令牌延长 60 天。该系统运行良好,但一位用户报告说他们必须继续退出。在调试他的访问令牌时,结果如下:

Application ID
54321
Application
User ID 
12345
Joe Blogs
Issued  
1358275114 (21 hours ago)
Expires 
Never
Valid   True
Origin  Web
Scopes  email friends_events manage_pages publish_actions rsvp_event user_birthday user_events user_location

Facebook 在 10 月弃用了 offline_access,这被认为是生成这种“永不过期”访问令牌的唯一方法。确认我的问题:为什么我会看到一个永无止境的访问令牌和一个不会在 60 天内过期的令牌?

【问题讨论】:

  • 真的很奇怪。我尝试获取 APP1 的扩展令牌,我得到了 2 months 到期令牌,然后我尝试了我的 APP2 ,我得到了 never 到期令牌(与您的情况相同)。这是一个错误吗?
  • 可能是一个bug,我反复尝试,有时我得到2 months token,有时得到never expiring!!!
  • 嗯,那好像是个bug,现在会提交报告。感谢您的确认 +1
  • 我想知道是不是因为支持令牌的会话可能在迁移之前就已经存在
  • 我们从未使用过offline_access,即使它受到支持,所以它似乎不太可能是一个结转。

标签: facebook facebook-graph-api facebook-opengraph facebook-oauth


【解决方案1】:

该访问令牌具有manage_pages 权限 - 如果您获得了 60 天的用户访问令牌,然后用它来检索页面访问令牌,则链接到(无限)页面访问令牌的用户访问令牌也不会过期

详情请参阅https://developers.facebook.com/roadmap/offline-access-removal/ 上的场景 5

【讨论】:

  • 该站点从不查询 [User ID]/accounts 端点,因此无法通过这种情况。
  • 那你用manage_pages权限干什么?这仍然是最可能的原因,但我认为一旦创建页面访问令牌并将其绑定到用户访问令牌,访问令牌到期扩展就会发生 - 您是在进行广告管理还是其他会触发无限访问令牌的事情?
  • 抱歉,我犯了一个错误——它实际上会查询此端点以访问客户拥有的页面。这样做会因此扩展端点,还是此查询返回未过期的第三个访问令牌?
  • 查询 /me/accounts 会返回这些页面的页面访问令牌作为结果的一部分,这也会导致用户访问令牌延长为不过期
猜你喜欢
  • 1970-01-01
  • 2017-02-09
  • 2015-12-27
  • 2011-02-10
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
相关资源
最近更新 更多