Rest 如何使用云代码创建的用户在解析中使用新的增强会话?

Rest 如何使用云代码创建的用户在解析中使用新的增强会话?,rest,session,parse-platform,Rest,Session,Parse Platform,我在我的Android应用程序上试用Parse中新的增强的可撤销会话。它在通过电子邮件密码或facebook登录或注册时效果良好,但在自定义身份验证(如google+)时效果不佳 我目前正在使用云代码登录该用户,该代码在注册时也会创建新用户。这不会创建新的会话对象,这意味着不会使用新的增强会话,它仍然使用旧会话 我将会话令牌传递回客户机,用户使用BENG方法登录,但这是遗留会话 这感觉功能还没有完成,但我真的很想用我的应用程序进入新的增强会话。有人和他们合作过吗?使用或手动创建会话并手动处理会话

我在我的Android应用程序上试用Parse中新的增强的可撤销会话。它在通过电子邮件密码或facebook登录或注册时效果良好,但在自定义身份验证(如google+)时效果不佳

我目前正在使用云代码登录该用户,该代码在注册时也会创建新用户。这不会创建新的会话对象,这意味着不会使用新的增强会话,它仍然使用旧会话

我将会话令牌传递回客户机,用户使用BENG方法登录,但这是遗留会话

这感觉功能还没有完成,但我真的很想用我的应用程序进入新的增强会话。有人和他们合作过吗?使用或手动创建会话并手动处理会话是否有任何解决方法?我查看了JSAPI,但它说它是只读的

这是我的建议


下一步我该去哪里?

是的,我找到了一个解决方案,但这是一个解决办法,适合我的情况,因为我不支持使用用户/密码注册

基本上,半伪代码中的解决方案(云代码)是:

  • 使用主密钥获取用户
  • 检查
    user.getSessionToken()是否有值
  • 如果有,则返回会话令牌,并像往常一样在客户端中执行
    user.been()
  • 如果不是,请执行以下操作:
  • YourPreviousPromiseInOrderToChain。然后(函数(用户)
    密码=新缓冲区(24);
    _.次(24,函数(i){
    密码设置(i,0.random(0255));
    });
    password=password.toString('base64')
    user.setPassword(密码);
    返回user.save();
    }).then(功能(用户){
    返回Parse.User.logIn(User.get('username')、密码)
    }).then(功能(用户){
    var sessionToken=user.getSessionToken();
    //将会话令牌返回到客户端,就像您对旧会话所做的那样
    })
    
    这意味着,我每次都更改用户密码以进行远程登录,当然,我知道这不可能适用于所有情况,这对于应用程序来说已经足够了,因为我不支持使用用户/密码登录(仅第三方登录),但我明白可能并非所有情况都适用。 我是从这位官员那里得到这个主意的

    我不喜欢这个解决方案,因为我认为它不是一个解决办法,它是一个超级黑客,但我认为目前没有其他方法(或者)


    如果您找到了其他解决方法,请与他人分享:)

    您看到了吗?“这似乎就是你们要找的东西。”戴维德罗宾森:是的,我看过这个教程。它没有说明如何使用带有自定义身份验证的增强会话。我错过什么了吗?很多人都面临着这个问题,也对此感到疑惑。显然,您可以创建自定义的Parse.Session对象,但这些对象受到限制(loT)。有办法吗?你有办法处理吗?我现在被困在这件事上了…@Arturo不,我不能,我会在几周后回到这件事上。如果你找到一个解决方案,请发布一个答案。啊,是的,这是一个黑客。谢谢你的发帖。几周后,当我们最终决定做这件事时,我会设法找到一些东西。如果我发现了什么,我会发布。@arturo我正在使用这种方法,但无法修改解析服务器的用户。@arturo你有什么建议吗?我们的最后期限非常紧迫,似乎在任何地方都找不到解决方案。谢谢我不再研究这个问题了,这个解决方法非常适合我的用例,但我同意我们需要一个正确的解决方案来避免这个黑客行为。。。