ios - facebook 万岁 token 更新
<p><p>我正在使用 Facebook iOS SDK 3.1。 </p>
<p>来自 FB <a href="https://developers.facebook.com/docs/howtos/login/extending-tokens" rel="noreferrer noopener nofollow">docs</a> </p>
<blockquote>
<p>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.</p>
</blockquote>
<p> token 的有效期为 60 天。</p>
<p>我有当前的实现:</p>
<pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
if (!.isOpen) {
if (.state == FBSessionStateCreatedTokenLoaded) {
[ openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error) {}];
}
}
}
</code></pre>
<p>,但这只会在应用程序第一次启动或被杀死后触发。 </p>
<p>这里有几个问题:</p>
<ol>
<li><p>当应用程序正在使用但 60 天内没有进行任何 FB 调用时,扩展 token 的正确步骤应该是什么。 </p></li>
<li><p>假设应用程序正在运行或进入后台模式并且用户没有使用任何FB功能,例如分享/注销/登录, token 是否会自动更新?</p></li>
<li><p>通过 SDK 访问 FB 调用时,token 会自动更新并在 FBSession 中可用吗? </p></li>
</ol></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>澄清一下,在使用 Facebook SDK 3.1 时,访问 token 会在后台、进行 API 调用时或在身份验证流程期间刷新。自上次刷新时间起大约一天后会进行刷新。</p>
<ol>
<li>如果在这段时间内没有进行任何 FB 调用,并且 token 过期,您应该重新授权用户。这可能意味着它们是通过重新验证流程进行的。因此,当他们进行与 FB 相关的调用并且由于 token 过期而失败时,您应该重新验证(另请参阅 <a href="https://developers.facebook.com/docs/reference/api/errors/" rel="noreferrer noopener nofollow">https://developers.facebook.com/docs/reference/api/errors/</a> )。无论如何,您都应该将其构建到您的应用中,因为 token 过期或失效的方式可能不同。</li>
<li>不,它会在 API 调用时刷新(参见对 1 的回答)。</li>
<li>是的,在最后一次刷新后的一段时间后。</li>
</ol></p>
<p style="font-size: 20px;">关于ios - facebook 万岁 token 更新,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/13993696/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/13993696/
</a>
</p>
页:
[1]