【问题标题】:Facebook token Android SDK refresh criteriaFacebook 令牌 Android SDK 刷新标准
【发布时间】:2016-02-03 11:33:35
【问题描述】:

我希望了解长期访问令牌(60 天)的 facebook 刷新周期。

虽然他们的doc 暗示了

如果我在获得访问令牌一天后调用图表“/me”,令牌到期时间将被更新或延长

但情况并非如此。我尝试通过他们的 android SDK 查询 /me 端点,但令牌到期未更新。

我遇到了类似的问题Facebook: refresh AccessToken on Android,但该建议对我不起作用。

Ps:很乐意分享代码,但我怀疑这是必要的。

-------编辑-----

我的用例仅涉及客户端的身份验证,然后将令牌提交到我的服务器。我的服务器会定期使用此令牌来获取更新的用户信息。为了做到这一点,我需要确保令牌在客户端永不过期。我不希望尽可能在令牌到期时重新登录用户。

【问题讨论】:

    标签: android facebook access-token


    【解决方案1】:

    您链接的文档的第一行指出:

    Facebook 的官方 SDK 为您管理令牌的生命周期。什么时候 使用 iOS、Android 或我们的 JavaScript SDK,SDK 将处理 确保令牌在过期之前被刷新。

    如果您阅读文档,您可以看到如果用户使用该应用程序,SDK 会每天刷新您的令牌。如果用户在 60 天内没有使用它,那么他必须重新登录才能获得新的令牌。

    总而言之,您无需手动刷新令牌。 为什么你认为你必须刷新令牌?

    【讨论】:

    • 链接的文档明确建议“当使用您的应用程序的人向 Facebook 服务器发出请求时,这些令牌将每天刷新一次”,而不是纯粹使用该应用程序。但是在我的用例中,我仅在客户端使用 FB 进行身份验证。令牌也被传递给我的服务器,该服务器定期维护/使用它。为此,我需要确保令牌永不过期。
    • 不,您需要确保服务器始终拥有最新的访问令牌;)
    • 最新的访问令牌只能在登录后获取,除非发出请求,否则令牌不会刷新。这就是我希望避免的部分,并使令牌刷新对没有登录的用户透明。
    • 我认为这不可能。
    • 正如@humblerookie 所注意到的,令牌似乎不会因为应用被使用而被刷新。实际的 Graph API 调用必须从应用程序进行,而不仅仅是任何 Graph API 调用(例如使用自定义 HTTP 客户端),只能使用 Facebook SDK 进行调用。见:stackoverflow.com/a/60908098/1483676
    猜你喜欢
    • 2018-02-21
    • 2016-08-29
    • 2021-05-14
    • 2013-02-21
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    相关资源
    最近更新 更多