- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 iOS 应用程序使用 Parse Server 的自动用户功能,即用户不必提供登录凭据,而是自动匿名登录。这些不是从 Parse.com 迁移的用户,而是具有托管 Parse Server 生成的可撤销 session 的自动用户。
我们的客户端 Parse 初始化看起来像这样:
[Parse initializeWithConfiguration:[ParseClientConfiguration configurationWithBlock:^(id<ParseMutableClientConfiguration> _Nonnull configuration) {
configuration.applicationId = <our app id>;
configuration.clientKey = <our client key>;
configuration.server = <our server>; }]];
// Users
[PFUser enableRevocableSessionInBackground];
[PFUser enableAutomaticUser];
[PFACL setDefaultACL:[PFACL ACL] withAccessForCurrentUser:YES];
在服务器上,“使非事件 session 过期”为"is",“密码重置时撤销 session ”为"is"。 session 长度为 1 年(以秒为单位)。就“使非事件 session 过期”而言,我不完全理解“非事件” session 的构成,以及“过期”的确切构成-从数据库中删除,或者只是使 token 无效。在我看来,无论其他因素如何, session 在开始后仅对“ session 长度”仍然有效。
基于这种理解,一切都按预期工作 - 用户可以与数据库通信 - 并且在 1 年标记时, session token 似乎自然过期。
我注意到在 Parse Server 的身份验证选项卡“App 身份验证设置”中,“启用匿名身份验证”实际上设置为 NO。我的理解是,这只会让用户在没有有效 session token 或有效 PFUser 对象的情况下与 Parse 服务器通信。这并不是我们真正想要的——我们想要一个有效的匿名 PFUser 进行通信,因为我们稍后可能想要转换为一个普通的 PFUser。我已尝试将其切换为"is",但我们仍然看到相同的错误。
使用标准的登录流程,人们会清楚地显示一个屏幕,允许用户登录并刷新他们的 token 。但是,对于自动或匿名用户,这没有任何意义 - 他们从未输入任何登录凭据,因此他们无法手动刷新凭据。
鉴于启用了自动用户,我原以为 Parse Server 会自动为具有匿名凭据的用户生成一个新的 session token 。相反,与服务器或数据库的任何交互都会失败:
Error Domain=Parse Code=209 "Session token is expired." UserInfo={code=209, temporary=0, error=Session token is expired., NSLocalizedDescription=Session token is expired.}
谁能帮我解决一下?
我将 Parse Server v2.3.2 与 MongoDB v3.0.12 和 iOS Parse SDK v1.17.1 一起使用。我可以考虑升级到最新版本,但我想先花时间了解问题所在,以及这是否/如何解决问题。
删除应用程序并重新安装它可以解决问题,因为会生成一个新的自动用户并提供一个新的 session token 。在数据库中,这显示为一个全新的用户,而旧用户则永远处于未使用状态。
我想实现一个解决方案,该解决方案只需为 token 已过期的匿名用户授予新的 session token 。似乎我必须设置一个有限的 session 长度,我宁愿不只是将它设置为 100 年——它不能解决现有用户的问题,而且感觉像是一个 hack。
感谢您的帮助。
亲切的问候,亚历克斯
最佳答案
自 v2.8.0 或更早版本起,这已被确认为 Parse Server 的已知问题。
临时解决方案只是更新我们的数据库并手动将 PFSession 对象中的所有“expiresAt”字段设置为将来的日期。此外,我们已将服务器设置中的“ session 长度”增加到 3 年,以便为新用户提供更大的缓冲。
与此同时,正在讨论如何正确处理自动用户的 token 过期问题,并且可能会在 Parse Sever 的 future 更新中提供解决方案。请看我的Parse Server Github Issue .
关于ios - 解析服务器 : Handling errors with code 209 "Session token is expired." for automatic (anonymous) users,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50624881/
const example = () => new Promise((resolve) => { resolve(); console.log('1'); } ) example().
我正在尝试制作一个天气应用程序,并且我正在使用天气 API 来获取信息,但是当我尝试解析 JSON 数据时出现此错误: SyntaxError: Unexpected end of JSON inpu
我尝试编写一个函数来更改文本的颜色,但出现错误。我想知道如何解决这个问题。 function change() { var colour = prompt("What's your favourite
所以我对我正在处理的这段代码有疑问。我一直在使用在下面的链接中找到的聊天功能。当我将它集成到我的应用程序中使用时,它工作得很好,尽管我在修改它时遇到了麻烦。然而,为了为我的网站创建用户历史记录功能,我
我在 JSON.parse() 中出错,我有 .php 文件,其中包含从数据库检索数据的方法和 .js 文件,用于自动完成功能,我的 .php 文件以字符串形式返回数据,我需要将其转换为使用 JSON
在java中这是有效的 new Thread(new Runnable() { public void run() { for(in
该网站如何设法将引荐来源网址清空。所有其他引用者消隐服务似乎只是隐藏引用者。然而,这成功地让谷歌分析相信用户在网站中输入了内容。 我似乎无法弄清楚他们是如何做到的。 例如:http://www.ano
我正在查看这行代码 options?: { name?: string, async?: boolean }。 { name?: string, async?: boolean } 类型的正确术语是什
以下是 Javascript 考试的练习题和答案。 我很困惑,因为我最初的 react 是选择 B。我知道 D 也是正确的,但是当我参加定时考试时,如果我发现我认为是正确的答案,有时我会停止阅读其余的
当我遍历dom ..时,我在浏览器控制台日志中收到一条错误消息null at HTMLDivElement.。HTMLDivElement. 是什么意思? 浏览器 Google Chrome浏览器 图
这个问题已经有答案了: When should I use arrow functions in ECMAScript 6? (9 个回答) 已关闭 6 年前。 我已经看到了这两种类型的代码,我想知道
我创建了一项 WCF 服务并将其部署在服务器上。当我浏览此服务时,它会通过 ?wsdl URL 给出积极响应。现在我正在尝试通过 WCF 测试客户端测试该服务。它显示了正确的元数据。但是当我尝试从服务
如何阻止匿名用户在 gerrit 中查看我的项目事件。我已经用谷歌搜索了足够多的内容,但找不到所谓的项目访问控制列表的确切文件。 最佳答案 如果你想禁止匿名用户浏览/读取/搜索某个项目的所有变更,只需
就在今天,我需要一种在不同对象之间传递函数的方法。我很快了解到,你不能直接在 Java 中执行此操作,但你可以传递一个显然称为“匿名内部类”的实例,如下所示: 定义类: interface MyCal
留言簿的PHP代码如下: prepare('INSERT INTO comments(`author`, `comment`) VALUES(:author, :comment)'); $st
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
是否可以在不知道其类名的情况下将数据表转换为 ienumerable。 我的要求是转换表格 First | Last -------------- john | mcgill clara | lin
如何使用 Anonym 函数删除事件监听器,使用 removeEventListener(); document.getElementById("object").onclick = function
我在我的 Node 服务器上运行以下 psql: SELECT json_data.key AS id, json_data.value::int AS version FROM players.se
我想使用完整日历让用户创建工作日(周一至周日,如果可能的话,还有节假日)的开放时间。 fullcalendar 已经做了什么,但它不是针对特定的一周,所以它不应该有日期。那么问题来了: 有什么想法可以
我是一名优秀的程序员,十分优秀!