【问题标题】:Facebook access token nil after app relaunch应用重新启动后 Facebook 访问令牌为零
【发布时间】:2017-10-25 06:09:43
【问题描述】:

我正在使用 Firebase Auth 和 Facebook 在 iOS 上开发应用。我想在使用 Facebook 登录后使用 Facebook graph sdk。它第一次工作正常。但是当我重新启动应用程序时,图形 API 不起作用:

必须使用活动访问令牌来查询有关 当前用户。

以下代码为零:

FBSDKAccessToken.current()?.tokenString

但是用户使用 Firebase Auth 登录:

// check if user is logged
FIRAuth.auth()?.addStateDidChangeListener({ (auth, user) in
    if user != nil{
        print("User logged") ...

有没有办法通过 Firebase Auth 获取当前的 Facebook 访问令牌? 或者我必须保留访问令牌以便以后使用它?或者每次都重新登录用户(一点都不友好)?

我的解决方案(但不知道是否最好):

  1. 在fb登录时将“访问令牌”保存在firebase数据库中
  2. 应用重启时,从数据库中获取持久化的“访问令牌”
  3. 检查“访问令牌”是否仍然有效
  4. 如果没有,请重新登录用户并获取新的“访问令牌”并保存

更新

我注意到我收到了这条消息:

回退到从 NSUserDefaults 加载访问令牌,因为 模拟器错误

所以我在真实设备中检查了我的代码,现在它正在工作,访问令牌通过应用重新启动保持不变。

【问题讨论】:

    标签: ios facebook facebook-graph-api firebase firebase-authentication


    【解决方案1】:

    我注意到我收到了这条消息:

    回退到从 NSUserDefaults 加载访问令牌,因为 模拟器错误

    所以我在真实设备中检查了我的代码,现在它正在工作,访问令牌通过应用重新启动保持不变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-10
      • 2018-09-07
      相关资源
      最近更新 更多