Android。 Parse.com:无效的会话令牌

Android. Parse.com: Invalid Session Token

请帮忙!

小问题: 我尝试使用这样的会话令牌登录 ParseUser:

ParseUser.becomeInBackground(token);

第一次登录总是正常的。但是当我重试时它总是失败。我收到 "invalid session token" 错误。会话保持不变。隐藏有关令牌的任何其他信息。

详细问题 我正在为 parent 和孩子们开发应用程序。建议 2 个用户使用一个帐户在他们的(不同)设备上启动应用程序(一个 ParseUser 用于一次登录的各种设备)。 首先 parent 在他的设备上登录。然后他用会话令牌生成 QR-code。

String token = ParseUser.getCurrentUser().getSessionToken();
Bitmap bitmap = encodeAsBitmap(token);
qrView.setImageBitmap(bitmap);

孩子的设备读取此二维码并登录。 这个程序第一次运行良好。但是,如果我注销孩子的设备并第二次尝试通过 QR 登录,它会失败并显示 "invalid session token"。当我尝试登录第二个孩子的设备时,它也失败了。 当我在 parse-dashboard 中手动删除会话时,我可以再次使用 QR 登录孩子的设备,但只能登录一次。

我尽力在这里和其他互联网上找到一些解决方案,但我没有成功。

尊敬的 expert-level 开发人员,请帮我解决这个问题。

我认为您的问题与 Parse.com 现在使用可撤销会话令牌有关,请参阅 http://blog.parse.com/announcements/announcing-new-enhanced-sessions/

其他人在这里也有类似的问题:https://groups.google.com/forum/#!topic/parse-developers/Knxl_MBVlLY

这意味着令牌仅在会话期间有效,即当用户登录到设备时。用户注销后,会话将与令牌一起销毁。

也许这可以被视为您应用中的 'feature',因为 parents 可以控制他们的孩子对应用的访问。如果他们注销,那么他们的 child(ren).

如果这与预期的使用场景相差太远,您可以考虑添加第三方登录,例如 Auth0 或 OAuth

https://auth0.com/docs/scenarios/parse

https://parse.com/tutorials/adding-third-party-authentication-to-your-web-app

看来我想通了

简答: 在 Parse.com 仪表板中,转到“设置”选项卡。在常规选项卡上转到 "User Sessions" 部分。关闭“需要可撤销会话”开关。

详情: 自 2015 年 3 月 Parse.com 开始使用可撤销会话。这意味着当用户注销或会话过期时,它就变得无用了。因此,您必须注销并重新登录才能像往常一样使用您的应用程序。 这是一个重要的安全问题。但如果像我这样的情况,请考虑将其关闭。