在Android中使用解析SDK更改解析用户的密码

jag*_*ish 2 passwords android forgot-password parse-platform

我正在开发android应用程序,并使用parse.com作为后端存储。但是我卡住了更改密码。我可以使用parse.com sdk将重设密码邮件发送到特定电子邮件。但是我也想使用应用程序更改密码,而无需enter code here使用旧密码登录。

发送邮件的功能:

public void resetPassword() {

    CustomProgressDialog.show(LoginActivity.this, "", getResources()
                              .getString(R.string.please_wait));

    ParseUser.requestPasswordResetInBackground("test@gmail.com",
        new RequestPasswordResetCallback() {
            public void done(ParseException e) {
                CustomProgressDialog.dismissMe();

                if (e == null) {
                    // An email was successfully sent with reset
                    // instructions.
                    Toast.makeText(getApplicationContext(), getResources().getString(R.string.reset_password_sent), Toast.LENGTH_LONG).show();
                } else {
                    // Something went wrong. Look at the ParseException
                    // to see what's up.
                    Toast.makeText(getApplicationContext(), getResources().getString(R.string.reset_password_fail), Toast.LENGTH_LONG).show();
                }
            }
        }
    );
}
Run Code Online (Sandbox Code Playgroud)

而且还可以使用声明权限从邮件启动应用程序AndroidManifest.xml

gio*_*gio 5

下一个方法可以使用ParseUser.setPassword()

接下来是提示,如果用户已登录,则无需检查旧密码,因为该密码已由Parse.com输入并应用。因此,您将有2个字段New PasswordConfirm New Password。用户输入它们,然后应用程序在服务器上对其进行更改。

ParseUser parseUser = ParseUser.getCurrentUser();
parseUser.setPassword(password);
parseUser.saveInBackground(new SaveCallback() {
    @Override
    public void done(ParseException e) {
        if (null == e) {
            // report about success
        } else {
            // report about error 
        }
    }
});
Run Code Online (Sandbox Code Playgroud)