ios – 在parse.com中将匿名用户转换为登录用户时无效的sessiontoken

我在iOS上使用 Swift.

我的应用有一个帖子列表.您可以匿名阅读,但必须注册才能发布.

当您打开应用程序时,您将获得一个匿名帐户.我在AppDelegate中添加了以下内容

PFUser.enableAutomaticUser()
PFUser.currentUser()?.incrementKey("runcount")
PFUser.currentUser()?.saveInBackground()

我从https://www.parse.com/docs/ios/guide#users-anonymous-users获得了代码

当你去发布我告诉你

let user = PFUser.currentUser()
user?.username = displayNameTextField.text
user?.password = passwordTextField.text
user?.email = emailTextField.text
user!.signUpInBackgroundWithBlock { ... }

这成功了.我可以在服务器上看到用户正在更新.但是我收到209错误:[错误]:会话令牌无效(代码:209,版本:1.7.4)

我已经尝试过查看sessiontoken并在每一步都将其打印出来并保持不变.我听说当用户注销时sessiontokens无效,但我认为我只是签了一个用户而不是用户.为什么sessiontoken无效?

我尝试使用sessiontoken将用户设置为PFUser.Become()的当前用户,但这也不起作用.

我显然忽略了一些东西,但我无法弄清楚是什么.任何帮助都非常感激.

解决方法

同样的问题开始发生在我身上,我意识到这是因为在应用程序设置中启用了此选项:
Revoke existing session tokens when user changes password - YES/NO

我怀疑这是在匿名用户上设置密码的意外副作用 – 我不认为在这种情况下会话令牌需要重置是有任何原因的.

希望这将得到修复,但解决方法是在signUp方法成功后立即调用logInWithUsername方法.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...