Facebook Oauth access_token andpoint 不返回“过期”值

And*_*zin 6 facebook oauth facebook-graph-api facebook-authentication facebook-access-token

我对 Facebook Oauth access_token 端点有一个奇怪的问题:

https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)

此处的文档(在“场景 3”中)说:“如果在该用户仍然存在有效的长期用户 access_token 时进行调用,则第二次调用返回的用户 access_token 可能相同或可能已更改,但在任何一种情况下,到期时间都将设置为较长的​​到期时间。”

如果我获得了一个有效的长期用户 access_token,这个端点会返回与我已经拥有的相同的访问令牌,并且也会返回 expires 参数,但仅限于很短的时间。因此,如果我在一段时间后(例如几个小时)重复对上述相同的调用并使用相同的 access_token 指向它,它只会返回没有 expires 参数的 access_token 。...所以我无法确定我的 access_token 何时到期。请注意,返回的 access_token 仍然有效并且运行良好。

你遇到过同样的问题吗?你有什么建议吗?谢谢!

小智 0

我们遇到了同样的问题。我建议在数据库中记录过期时间。当然,不是到期秒数,而是实际到期日期/时间。我们也将发送一封电子邮件来请求用户更新其令牌。如果还有其他方式提出该请求,我们也有兴趣了解。询问用户另一件事(他们的电子邮件)听起来不是一个好主意。