Tuesday, 13 August 2013

ParseUser setPassword() isn't saving the password

ParseUser setPassword() isn't saving the password

I want a unique user but I don't need it to be a formal thing for my app.
So, on launch I inspect shared preferences for a previously stored
username. I handle the user creation or login like so:
String parseUsername = _appPrefs.getParseUsername();
_progress.setVisibility(View.VISIBLE);
if (parseUsername == null) {
Log.v(TAG, "Creating a user.");
ParseUser.enableAutomaticUser();
_user = ParseUser.getCurrentUser();
_user.setPassword("abc123");
_user.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
Log.w(TAG, String.format("User '%s' created.",
_user.getUsername()));
_progress.setVisibility(View.GONE);
_appPrefs.saveParseUsername(_user.getUsername());
createStory();
return;
}
Log.e(TAG, "Error creating user: ", e);
}
});
} else {
Log.v(TAG, String.format("Logging the user '%s' in with
password '%s'.", parseUsername, "abc123"));
ParseUser.logInInBackground(parseUsername, "abc123", new
LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
Log.v(TAG, "User logged in.");
_progress.setVisibility(View.GONE);
if (e == null) {
createStory();
return;
}
Log.e(TAG, "Error logging in: ", e);
}
});
}
I can see the user being successfully created in the logs. I can kill the
app and re-launch but it always fails with "invalid login credentials"
response from Parse.
If I manually enter abc123 in the Parse data browser then everything
works. Ideas?

No comments:

Post a Comment