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 (将#修改为@)