I am using ASP.NET MVC5 and Identity 2.0 (beta).
It is possible for users to change the username?
I am trying using UserManager.UpdateAsync method throws an exception.
Regrads,
Fran.
Yes it is possible using the UpdateAsync method but you need to ensure that you update both the email and username fields.
var user = userManager.FindById(userId);
user.Email = email;
user.UserName = email;
var updateResult = await userManager.UpdateAsync(user);
This method works successfully for me
This works for me:
public async Task<ActionResult> ChangeUsername(string value)
{
if (UserManager.Users.Where(x => x.UserName == value).FirstOrDefault() == null) //chk for dupes
{
var user = UserManager.FindById(User.Identity.GetUserId());
user.UserName = value;
var updateResult = await UserManager.UpdateAsync(user);
store.Context.SaveChanges();
await SignInAsync(user,true);//user is cached until logout so do this to clear cache
return Content("true");
}
throw new HttpException(500, "Please select a different username");
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With