android - How to undo a ParseUser.setPassword() call? -
i letting user change credentials. types new username, email , password , go like:
parseuser user = parseuser.getcurrentuser(); user.setusername("my new name"); user.setemail(email); user.setpassword("my new pw"); user.saveinbackground(...);
so what? save()
call might fail, big number of reasons (example: username taken else). can tell in case none of above fields gets updated, fair: show error, user knows went wrong.
things complicated if notice that, after parseexception
, user
above keeps dirty fields, couldn't saved server. i.e.
//saveinbackground fails //... user.getusername().equals("my new name") // true!
issue
now, able these fields right values calling user.fetch()
, doesn't work password
field.
this particularly unwanted, because future call save()
or such (which might not fail because maybe it's different call) update password too! i.e.
//later parseuser user = parseuser.getcurrentuser(); user.put("stuff"); user.save();
this won't put "stuff", also change password "my new pw".. without user ever knowing.
is there way reset local password
field, other fetch()
doesn't work? know save username, email , password 3 different queries not possible solution case.
a workaround could use
+ becomeinbackground:
on pfuser class (with pfuser.currentuser().sessiontoken token) when save fails, still risk becomeinbackground fail. @ least prevent cases happend if becomeinbackground undoes setpassword, , accepts current sessiontoken parameter, haven't tested that
Comments
Post a Comment