parse-serverを2.2.xから2.4.xに更新しました。私のクラウドコードはsessionTokenを使用しても機能しませんでした。以下は、単純なクラウドコード関数です。解析サーバー2.4.xでクラウドコードsessionTokenが変更されていますか?
Parse.Cloud.define('find_device', function(request, response) {
var user = request.user;
if(user){
var token = user.getSessionToken();
console.log("User token " + token);
var query = new Parse.Query('devices');
query.equalTo('deviceId', "389125651274465");
query.find({ sessionToken: token })//<- sessionToken does not work
.then(function(messages) {
response.success(messages);
},function(error){
console.log(error);
response.error("error");
});
}else{
response.error("error");
}
});
{sessionToken: token}
を使用してクエリします。このコードは以前は動作しましたが、現在はparse-server 2.4.xでは動作しません。私はエラーを受けました
ParseError { code: undefined, message: 'unauthorized' }
パーズサーバーバージョン2.4.xで何か変更があるかどうかわかりません。 {useMasterKey:true}
に変更しても問題ありませんが、この場合はユーザーのトークンを使用してクエリを実行します。お手伝いありがとうございます。
私はconsole.log( "ユーザートークン" +トークン)を実行しました。トークンの値を見ることができ、トークンは有効です。 – MichaelP
おそらくクラスACLまたはCLPに何らかの問題がありますか? btw、そのエラーコード=未定義は少し厄介です – ZeekHuge
このコレクションのドキュメントはACLとともに保存されるため、ユーザーは自分のデータを読み書きしかできません。このクラスに直接X-Parse-Session-Tokenを使って残りのAPIを使用すると、Get要求は正常に機能します。 – MichaelP