gpt4 book ai didi

ios - facebook 万岁 token 更新

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:48:02 26 4
gpt4 key购买 nike

我使用的是 Facebook iOS SDK 3.1。

来自 Facebook docs

Apps created from our Mobile SDKs (Android and iOS), from Desktop Apps and the server-side Login flow automatically get long-lived User Access Tokens. This long-lived token refreshes and extends each time the user triggers the auth flow.

token 的有效期为 60 天。

我有当前的实现:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{

if (![FBSession activeSession].isOpen) {
if ([FBSession activeSession].state == FBSessionStateCreatedTokenLoaded) {
[[FBSession activeSession] openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error) {}];
}
}
}

,但这只会在应用程序首次启动时或在应用程序被终止后触发。

这里有几个问题:

  1. 当应用程序正在使用但 60 天内没有进行 FB 调用时,扩展 token 的正确步骤应该是什么。

  2. 假设应用程序正在运行或进入后台模式并且用户没有使用任何 FB 功能,例如分享/注销/登录, token 会自动更新吗?

  3. 当通过 SDK 访问 FB 调用时, token 会自动更新并在 FBSession 中可用吗?

最佳答案

需要澄清的是,使用 Facebook SDK 3.1,访问 token 会在后台刷新,当进行 API 调用时或在身份验证流程中。在上次刷新时间后大约一天后进行刷新。

  1. 如果在这么长时间内没有进行 FB 调用,并且 token 过期,您应该重新授权用户。这可能意味着它们将通过重新授权流程。因此,当他们进行与 FB 相关的调用并且由于 token 过期而失败时,您应该重新授权(另请参见 https://developers.facebook.com/docs/reference/api/errors/)。无论如何,您都应该将其构建到您的应用中,因为 token 过期或失效的方式可能不同。
  2. 不,它会在 API 调用时刷新(请参阅对 1 的回答)。
  3. 是的,在上次刷新后的某个时间后。

关于ios - facebook 万岁 token 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13993696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com