【问题标题】:Android. Parse.com: Invalid Session Token安卓。 Parse.com:无效的会话令牌
【发布时间】:2016-03-29 04:21:28
【问题描述】:

请帮忙!

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

ParseUser.becomeInBackground(token);

第一次登录时总是可以的。但是当我重试时它总是失败。我收到“无效的会话令牌”错误。会话保持不变。任何其他关于令牌的信息都被隐藏了。

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

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

孩子的设备读取此 QR 并登录。 这个过程第一次很顺利。但是,如果我注销孩子的设备并第二次尝试通过 QR 登录,它会因“无效会话令牌”而失败。当我尝试登录第二个孩子的设备时,它也失败了。 当我在 parse-dashboard 中手动删除会话时,我可以再次使用 QR 登录孩子的设备,但只能登录一次。

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

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

【问题讨论】:

    标签: android session parse-platform login token


    【解决方案1】:

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

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

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

    也许这可以被视为您应用中的“功能”,因为父母可以控制他们的孩子对应用的访问。如果他们退出,他们的孩子也会退出。

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

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

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

    【讨论】:

    • 谢谢!你是完全正确的。令牌无效的原因是会话在注销时撤销。这对我帮助很大。
    • 很高兴我能提供帮助,实际上并没有注意到他们允许关闭它,很高兴知道 :-)
    【解决方案2】:

    看来我想通了。

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

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

    【讨论】:

      猜你喜欢
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多