应用重新启动后,Facebook访问令牌为零

时间:2017-05-24 18:34:18

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

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

  

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

以下代码为nil:

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 login
  2. 中保存firebase数据库中的“访问令牌”
  3. 当app重启时,从数据库中获取持久的“访问令牌”
  4. 检查“访问令牌”是否仍然有效
  5. 如果没有,请重新登录用户并获取新的“访问令牌”并保存
  6. 更新

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

      

    由于以下原因,退回到从NSUserDefaults加载访问令牌   模拟器错误

    所以我在一个真实设备中检查了我的代码,现在它正在运行,访问令牌通过应用程序重新启动来保持。

1 个答案:

答案 0 :(得分:1)

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

  

由于以下原因,退回到从NSUserDefaults加载访问令牌   模拟器错误

所以我在一个真实设备中检查了我的代码,现在它正在运行,访问令牌通过应用程序重新启动来保持。