Facebook 令牌/会话策略
Posted
技术标签:
【中文标题】Facebook 令牌/会话策略【英文标题】:Facebook Token/Session Strategy 【发布时间】:2016-03-01 03:14:28 【问题描述】:我正在使用最新版本的 Facebook SDK,与我使用的上一个版本相比,情况发生了一些变化。
过去我会使用 FBSession 类来观察用户是否使用尚未过期的有效令牌打开应用程序。
方便的旧方法:
openActiveSessionWithAllowLoginUI
将检测会话是否仍然有效,如果不是,则提示用户再次登录。
FBSession 类已被弃用,我在新的 sdk 中找不到任何等效方法。
有一些方法可以手动做我想做的事,但我想联系一下,看看是否有新的策略来处理这种情况:
– see if there is a token:
• if yes, refresh it longer
• if no, login again
【问题讨论】:
【参考方案1】:假设您的意思是带有“新版本”FBSDKLoginManager
/FBSDKAccessToken
的 Facebook SDK v4.x 就是您要检查现有会话并再次登录的内容。
来自SDK Upgrade Guide:
LoginManager logIn:方法总是打开一个 UI。没有直接的 相当于 v3.x 的 FBSession 的 allowLoginUI: 标志。相反,你 应在 viewDidLoad 或检查 [FBSDKAccessToken currentAccessToken] 相似的。如果当前令牌可用,请执行登录后工作。你 也可以使用 currentAccessToken 来检索缓存的令牌。
【讨论】:
谢谢,这正是我正在做的。我没有看到 Facebook 的官方声明。以上是关于Facebook 令牌/会话策略的主要内容,如果未能解决你的问题,请参考以下文章
使用 Facebook v4 登录 ParseUI 时没有访问令牌(会话)
如何使用 Facebook PHP SDK 3.0 正确处理会话和访问令牌?
Facebook iOS 上传视频“无法从访问令牌中检索会话密钥。”