2015-12-22 75 views
1

请帮忙!Android。 Parse.com:会话令牌无效

短缺问题: 我尝试登录ParseUser像这样的会话标识:

ParseUser.becomeInBackground(token); 

它总是去确定在第一次登录。但是当我重试时它总是失败。我收到“无效会话令牌”错误。会话保持不变。令牌上的任何其他信息都是隐藏的。

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

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

儿童设备读取这个QR和日志。 这个过程不断精细的第一次。但是,如果我注销了孩子的设备并尝试第二次通过QR登录,则它将以“无效会话令牌”失败。当我尝试登录第二个孩子的设备时,它也失败。 当我在parse-dashboard中手动删除会话时,我可以再次使用QR登录孩子的设备,但只能登录一次。

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

尊敬的专家级开发人员,帮我解决这个问题。

回答

0

我觉得你的问题已经做Parse.com现在使用的撤销会话令牌,见http://blog.parse.com/announcements/announcing-new-enhanced-sessions/

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

这意味着,该令牌的会话期间才有效,即用户登录设备时。一旦用户注销,会话就会与令牌一起销毁。

也许这可能被认为是您的应用中的一项“功能”,因为父母可以控制他们的孩子访问该应用。如果他们注销,他们的孩子(ren)也是如此。

如果这是预期的使用场景太远,你可以考虑加入第三方登录如Auth0或OAuth的

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

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

+0

谢谢!你是完全正确的。令牌无效的原因是会话在退出时撤销。这帮助了我很多。 –

+0

很高兴我能帮忙,实际上并没有注意到他们允许关闭它,很高兴知道:-) – cYrixmorten

1

看来,我想通了。

简短回答: 在Parse.com仪表板转到设置选项卡。在常规选项卡上,转到“用户会话”部分。关闭“需要可撤销会话”切换。

详情: 自2015年3月Parse.com开始使用撤销会话。这意味着当用户注销或会话过期时,它变得毫无用处。所以您必须注销并重新登录才能照常使用您的应用。 这是一个重要的安全问题。但是如果我想考虑关闭它。