gpt4 book ai didi

ios - 解析,如何处理无效的 session ?

转载 作者:行者123 更新时间:2023-12-01 16:26:48 25 4
gpt4 key购买 nike

直接从文档中说:

PFUser#currentUser()从磁盘获取当前登录的用户,并
返回它的一个实例。

一切都很好,但是如果登录@ disk的用户不是服务器上登录的用户,该怎么办。可以说,由于任何原因删除了用户帐户,或者由于数据库修改, session 不再有效。这些是我目前面临的问题。

在我阅读的所有教程中,我已经看到使用以下代码行来检查用户是否有效,因此您可以跳过应用程序的登录阶段:

if let user = PFUser.currentUser() as? Subclass {
// Simulate successful login
}

但是,这对我来说是一个问题,因为模拟了成功登录,但是登录未成功。这是我正在处理的错误:

[错误]:无效的 session token (代码:209,版本:1.12.0)

因此,我要做的第一件事就是尝试注销用户,但是这失败了(我认为是因为该用户最初并未登录),现在我被扔进了应用程序中,该应用程序立即崩溃了,因为服务器所需的数据不在那里。这是我尝试处理错误代码209的方式:
let query = PFQuery(className: "Foo")
query.whereKey("Bar", equalTo: "Foo")
query.findObjectsInBackgroundWithBlock {
(foo, error) -> Void in
if let error = error {
print(error);
if error.code == 209 {
PFUser.logOutInBackgroundWithBlock {
(error) -> Void in
if let error = error {
print("Okay, I'm trapped!");
}
}
}
}
}

此“查询”的输出如下:
[Error]: invalid session token (Code: 209, Version: 1.12.0)
Okay, I'm trapped!

我在这里没有主意,我想弄清楚如何在应用程序启动时正确验证用户。在每个查询中必须捕获错误代码209似乎是多余的,但是如果这是您必须执行的操作,那么这就是您必须执行的操作。

最佳答案

您可以使用同步注销。因此,即使发生错误,也没关系。如果用户再次启动该应用程序,则PFUser session token 将失效。

同样,最新的Parse SDK提供PFConstants类,该类为所有可能的错误情况提供枚举。
kPFErrorInvalidSessionToken = 209.

if (error.code == kPFErrorInvalidSessionToken) {
PFUser.logOut()
//Necessary pop of view controllers after executing the previous code.
}

关于ios - 解析,如何处理无效的 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34833401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com