gpt4 book ai didi

javascript - Parse Server/JS SDK,保存用户对象时报错206

转载 作者:搜寻专家 更新时间:2023-10-31 23:16:43 28 4
gpt4 key购买 nike

我在使用 Parse Server JS SDK 编辑和保存用户时遇到问题。

我正在登录,登录并检索用户就好了,我可以无一异常(exception)地调用user.set并添加/编辑我想要的任何字段,但是当我尝试保存时,即使使用 masterKey,我也会得到 Error 206: Can t modify user <id> .

我也试过用save直接设置字段,结果一样。

有趣的是,在数据库中,用户的架构会随着新的字段和类型而更新。

这是我的更新函数:

function login(user, callback) {
let username = user.email,
password = user.password;

Parse.User.logIn(username, password).then(
(user) => {
if(!user) {
callback('No user found');
} else {
callback(null, user);
}
},
(error) => {
callback(error.message, null);
}
);
}

function update(user, callback) {
login(user, (error, user) => {
if(error) {
callback('Can t find user');
} else {
console.log('save');
console.log('Session token: ' + user.getSessionToken());
console.log('Master key: ' + Parse.masterKey);
user.set('user', 'set');
user.save({key: 'test'}, {useMasterKey: true}).then(
(test) => {
console.log('OK - ' + test);
callback();
}, (err) => {
console.log('ERR - ' + require('util').inspect(err));
callback(error.message);
}
);
}
});
}

错误示例:

update
save
Session token: r:c29b35a48d144f146838638f6cbed091
Master key: <my master key>
ERR- ParseError { code: 206, message: 'cannot modify user NPubttVAYv' }

如何正确保存我编辑的用户?

最佳答案

我在将 Parse Server 与来自现有应用程序的迁移数据一起使用时遇到了完全相同的问题。

该应用是在 2015 年 3 月引入新的增强型 session 之前创建的。该应用程序仍在使用遗留 session token ,并且从未迁移到新的可撤销 session 系统。 Parse Server 需要可撤销的 session token ,并且在遇到遗留 session token 时会失败。

在应用程序设置面板中,Require revocable sessions 设置在迁移之前未启用,用户 session 在切换到 Parse Server 时未迁移到新系统。尝试编辑用户时的结果是 400 Bad Request,消息为 cannot modify user xxxxx (Code: 206)

为了解决这个问题,我遵循了 Session Migration Tutorial由 Parse 提供,它解释了如何从遗留 session token 升级到可撤销 session 。根据您的需要描述了多种方法,例如 enableRevocableSession() 以在移动应用程序上启用这些 session ,如果您只有一个网络应用程序,您可以使用旧 session token 强制执行任何 API 请求返回一个 invalid session token 错误等。

你还应该检查你是否是 handling invalid session token error在迁移期间正确提示用户再次登录并因此获得新的 session token 。

关于javascript - Parse Server/JS SDK,保存用户对象时报错206,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38564646/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com