javascript – Parse – 为什么user.getSessionToken()返回undefined
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Parse – 为什么user.getSessionToken()返回undefined,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1291字,纯文字阅读大概需要2分钟。
内容图文
![javascript – Parse – 为什么user.getSessionToken()返回undefined](/upload/InfoBanner/zyjiaocheng/734/052fcc4f8f4c45cea40d7132af1704bf.jpg)
我正在使用云功能来获取用户的sessionToken.文档说,当使用主密钥获取用户对象时,此方法仅返回正确的值.但是,即使我使用主密钥,我仍然会得到未定义的结果.我的代码出了什么问题?
Parse.Cloud.define("hello", function(request, response) {
Parse.Cloud.useMasterKey();
Parse.Promise.as().then(function(){
var query = new Parse.Query(Parse.User);
return query.first({useMasterKey:true});
}).then(function(user){
return user.fetch({useMasterKey:true});
}).then(function(user){
response.success(user.getSessionToken());
});
});
解决方法:
这不起作用,因为当您通过云代码获取他时,用户没有登录.要使getSessionToken起作用,您需要已经有一个登录用户.因为,否则CloudCode将如何知道您想要获得的用户会话? (如果他登录了多个设备)你的代码也在返回数据库中的第一个用户,那真的是你想要的吗?
无论哪种方式,您都需要通过云代码登录用户,然后返回会话令牌.但是我在没有密码的情况下做了一些麻烦(只是通过调用user.logIn(),它应该工作所以试一试)所以我找到的唯一解决方案是更改用户的密码然后登录.为什么你需要获取用户的会话令牌吗?如果您不介意更改用户密码,可以执行以下操作:
var password; //create new random passowrd
query.first({useMasterKey: true}).then(function(user){
user.set("password", password);
return user.save();
}).then(function(user){
return Parse.User.logIn(user.get("username"), password);
}).then(function(user){
return user.getSessionToken();
});
内容总结
以上是互联网集市为您收集整理的javascript – Parse – 为什么user.getSessionToken()返回undefined全部内容,希望文章能够帮你解决javascript – Parse – 为什么user.getSessionToken()返回undefined所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。