如何解决PFUser.become返回无效的会话令牌
我正在尝试开发一个应用程序,用户可以在其中切换到Instagram等多个帐户。因此,当用户登录/注册时,我将其会话令牌保存在UserDefaults中。但是,当我通过调用PFUser.become并传递旧用户的会话令牌切换到旧帐户时,会收到以下错误消息
Error Domain=Parse Code=209 "Invalid session token"
这是保存会话令牌的代码
var url : String?
if PFUser.current()?.object(forKey: UserTable.Cols.PROFILE_PIC) != nil{
url = (PFUser.current()?.object(forKey: UserTable.Cols.PROFILE_PIC) as! PFFileObject).url
}
let account = SwitchAccountDataItem(objectId: (PFUser.current()?.objectId)!,name: PFUser.current()?.object(forKey: UserTable.Cols.NAME) as! String,username: (PFUser.current()?.username)!,url: url,sessionToken: (PFUser.current()?.sessionToken)!)
let data = try! JSONEncoder().encode([account])
UserDefaults.standard.set(data,forKey: UD_SWITCH_ACCOUNT_DATA)
这是切换帐户的代码
PFUser.become(inBackground: mUsers[pos].sessionToken,block: {_,e in
SVProgressHUD.dismiss()
if(e==nil){
self.delegate?.onAccountSwitched()
self.dismiss(animated: true,completion: nil)
}else{
SVProgressHUD.showError(withStatus: "Session expired")
self.mUsers.remove(at: pos)
let data = try! JSONEncoder().encode(self.mUsers)
UserDefaults.standard.set(data,forKey: UD_SWITCH_ACCOUNT_DATA)
self.dismiss(animated: true,completion: nil)
}
})
mUsers是SwitchAccountDataItem模型的数组
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。