关于Parse.User.getSessionToken
的文档指出:
返回该用户的会话令牌,如果该用户已经登录,或者是使用主密钥查询的结果。否则,返回未定义。
我正在使用JS SDK。使用主密钥创建并保存新用户时,可以使用user.getSessionToken
在回调中获取会话令牌。很好
当我使用主密钥查询用户时,将返回该用户,并且我尝试以相同的方式获取会话令牌,并且该令牌是未定义的。
我已经确认该用户有一个有效的会话,但结果始终相同。
我正在尝试登录查询的用户。become()
函数需要会话令牌。
任何帮助,将不胜感激。
谢谢!
最佳答案
因此,事实证明,创建并保存新用户会生成一个会话令牌,一个人可以在保存后使用getSessionToken()
来获取该令牌:
//create newUser and save username/password
return newUser.save(null, {userMasterKey:true})
.then( function(user) {
var token = user.getSessionToken();
//use that token
});
查询用户并尝试获取令牌将不起作用:
userQuery.first({useMasterKey:true})
.then(function(user) {
if(user)
{
var token = user.getSessionToken();
//token is null
}
我正在执行SSO登录,并将SAML服务器中的令牌用作解析用户用户名。我的移动客户端用户登录到SSO服务器并为客户端提供了解析会话令牌后,我需要登录到Parse。
对于现有的解析用户,解决方案是查询用户,使用主密钥将密码更改为随机的超级重复密码,使用该新密码登录,然后获取会话令牌并将其发送。
希望这对某人有帮助。
关于javascript - 解析服务器user.getSessionToken()未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37754290/