3

PFUser の電子メールを更新するのと同じ方法で更新を試み、obj-c コードの変換も試みました (他の質問から)。どちらも機能しませんでした。また、Cloud Code の使用方法もわかりません (まあ...インストールしましたが、Cloud Code に情報を渡す方法や JavaScript の使用方法がわかりません)。リセット メールを送信せずにユーザーのパスワードを更新する方法はありますか?

4

2 に答える 2

8

セキュリティ上の理由から、ユーザーのパスワードをそのように変更することはできません。あなたには2つの選択肢があります

  • パスワードリセットメール

  • パスワードをリセットする Cloud Code 関数

あなたは JavaScript を知らないと思いますが、ユーザーのパスワードをリセットするために使用できるクラウド コード関数と、Swift を使用して関数を呼び出す方法を次に示します。

関数 (JavaScript):

Parse.Cloud.define("changeUserPassword", function(request, response) {
  // Set up to modify user data
  Parse.Cloud.useMasterKey();
var query = new Parse.Query(Parse.User);
query.equalTo("username", request.params.username);  // find all the women
query.first({
  success: function(myUser) {
    // Successfully retrieved the object.
myUser.set("password", request.params.newPassword);

myUser.save(null, {
        success: function(myUser) {
          // The user was saved successfully.
          response.success("Successfully updated user.");
        },
        error: function(myUser, error) {
          // The save failed.
          // error is a Parse.Error with an error code and description.
          response.error("Could not save changes to user.");
        }
      });

  },
  error: function(error) {
    alert("Error: " + error.code + " " + error.message);
  }
});
});

上記の関数を呼び出す Swift コード:

PFCloud.callFunctionInBackground("changeUserPassword", withParameters: ["username" : "MyCoolUsername", "newPassword" : passwordField.text]) {
  (result: AnyObject?, error: NSError?) -> Void in
  if (error == nil) {
    // result is "Successfully updated user."
  }
}

幸運を!

于 2015-02-13T19:04:35.270 に答える