javascript - 解析服务器 user.getSessionToken() 未定义

标签 javascript parse-server

关于 Parse.User.getSessionToken 的文档状态:

Returns the session token for this user, if the user has been logged in, or if it is the result of a query with the master key. Otherwise, returns undefined.

我正在使用 JS SDK。当我使用主 key 创建并保存新用户时,我可以使用 user.getSessionToken 在回调中获取 session token 。这很好用。

当我使用主 key 查询用户时,该用户被返回,我尝试以相同的方式获取 session token ,但它是未定义的。

我已确认该用户存在有效 session ,但结果始终相同。

我正在尝试登录查询的用户。

become() 函数需要 session token 。

如有任何帮助,我们将不胜感激。

谢谢!

最佳答案

事实证明,创建和保存新用户会生成一个 session token ,一个人可以在保存后的 block 中使用 getSessionToken() 来获取该 token :

//create newUser and save username/password

return newUser.save(null, {userMasterKey:true})
    .then( function(user) {
        var token = user.getSessionToken();
        //use that token
});

查询用户并尝试获取 token 但是行不通:

userQuery.first({useMasterKey:true})
     .then(function(user) {
            if(user)
            {
               var token = user.getSessionToken();
               //token is null
            }

我正在执行 SSO 登录并使用来自 SAML 服务器的 token 作为 Parse 用户名。在我的移动客户端用户登录到 SSO 服务器并向客户端提供解析 session token 后,我需要登录到 Parse。

对于现有的解析用户,解决方案是查询用户,使用主 key 将密码更改为随机的 super 密码,使用新密码登录,然后获取 session token 并将其发送。

希望这对某人有帮助。

关于javascript - 解析服务器 user.getSessionToken() 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37754290/

相关文章:

javascript - 在 dc js 中创建堆叠条形图

javascript - 添加 optgroups 以使用 javascript 动态选择

java - Android/Java : how to send notifications to user,,即使应用程序未使用 "actively"?

javascript - 如何生成解析服务器应用程序的文档

javascript - d3js 多线图正在从绘图区域绘制 - 更新模式是否存在问题?

javascript - 无法在 React 中获得真实的元素高度

javascript - 模板继承问题: one template overrides the other

ios - 使用 Swift 3 和 iOS 在发送到 Parse Server 的 authdata 对象中使用来自 google 登录的 authdata

ios - 解析到Heroku迁移:解析服务器云代码不起作用

mysql - 解析服务器-导入mysql数据