应用重新启动后,Facebook访问令牌为零
我正在使用Firebase身份validation和Facebook在iOS上开发应用程序。 我想用Facebooklogin后使用FacebookgraphicsSDK。 这是第一次正常工作。 但是当我重新启动应用程序时,graphicsAPI不起作用:
必须使用活动访问令牌来查询有关当前用户的信息。
下面的代码是nil:
FBSDKAccessToken.current()?.tokenString
但是用户使用Firebase身份validation进行了日志logging:
// check if user is logged FIRAuth.auth()?.addStateDidChangeListener({ (auth, user) in if user != nil{ print("User logged") ...
有没有办法通过Firebase身份validation获取当前的Facebook访问令牌? 或者我必须坚持以后使用它的访问令牌? 或每次重新login用户(根本不是用户友好的)?
我的解决scheme(但不知道如果最好的方式):
- 在fblogin时在firebase数据库中保存“访问令牌”
- 当应用程序重新启动时,从数据库中获取持久的“访问令牌”
- 检查“访问令牌”是否仍然有效
- 如果没有,重新login用户并获得一个新的“访问令牌”并保存
更新
我注意到我收到这个消息:
由于模拟器错误,从NSUserDefaults退回到加载访问令牌
所以我在一个真实的设备上检查了我的代码,现在它正在工作,访问令牌通过应用程序重新启动持久。
我注意到我收到这个消息:
由于模拟器错误,从NSUserDefaults退回到加载访问令牌
所以我在一个真实的设备上检查了我的代码,现在它正在工作,访问令牌通过应用程序重新启动持久。
- 从unauth切换到开发人员身份validation的authentication用户 – AWS iOS SDK
- AWSWebIdentityCredentialsProvider如何获取参数值?
- iOS5:willSendRequestForAuthenticationChallenge方法正在recursion运行
- Swift 3 Firebase:当前用户login成功,事件已经在Firebase控制台中删除此用户
- 暴露Rails /deviseauthentication到iOS应用程序
- Facebook通过强制门户在iOS设备上login
- 如何使用Google离线访问令牌在iOS的后台进行身份validation?
- RailsdeviseOmniAuth Facebook从iOSlogin
- 如何在新iTuneconnect中创build应用内购买testing用户?