Parse 平台中会话过期时重复的匿名用户
Posted
技术标签:
【中文标题】Parse 平台中会话过期时重复的匿名用户【英文标题】:Duplicated anonymous users when session expired in Parse platforms 【发布时间】:2020-04-08 06:07:07 【问题描述】:if let cachedUser = PFUser.current()
// proceed to save some objects
else
PFAnonymousUtils.logIn (user, error) in
// proceed to save some objects
if ((error as NSError).code == 209)
// session expired, logout and call PFAnonymousUtils.logIn again later
PFUser.logOut()
对于一个简单的 Swift 移动应用程序,我们将数据匿名保存在解析后端。如果出现会话过期错误(Parser 服务器默认为 1 年),我们将不得不对此采取措施,否则我们将无法再保存任何内容。因此,我们注销并重新登录。
一旦我们注销并重新登录,这将在后端创建第二个新用户。
这产生了一个问题 - 我们不再准确了解后端的用户数量。
上面的流程出了什么问题?有没有办法在处理过期会话时防止重复的匿名用户?
【问题讨论】:
我不确定,但我会说这是预期的行为,匿名用户的全部意义在于,如果他们的“帐户”可以在会话过期后重新登录,那么他们就是匿名的成为安全漏洞。有什么理由不能延长会话持续时间? @TomFox 是的,我正在考虑设置更长的会话持续时间,例如5年而不是1年,理论上是延迟问题。但是,是的,我想我会这样做。谢谢:) 您可能会发现此线程很有用 - github.com/parse-community/parse-server/issues/4799。特别是在服务器配置中使用expireInactiveSessions: false
来阻止会话过期 - 但我不确定这会产生什么影响。
@TomFox 超级相关。我一定会试一试的!您也可以将此作为答案发布。
@TomFox 这行得通。 expireInactiveSessions: false 是这个问题的答案!
【参考方案1】:
可以在您的服务器配置中增加默认会话持续时间。
您还可以将以下代码添加到您的服务器配置中...
expireInactiveSessions: false
此thread 可能会提供有关此问题的更多有用见解。
【讨论】:
以上是关于Parse 平台中会话过期时重复的匿名用户的主要内容,如果未能解决你的问题,请参考以下文章
Spring Stomp SimpUserRegistry 匿名用户