in Source/WebApp-IdentityProvider-MFA/Areas/Identity/Pages/Account/ConfirmEmailChange.cshtml.cs [30:63]
public async Task<IActionResult> OnGetAsync(string userId, string email, string code)
{
if (userId == null || email == null || code == null)
{
return RedirectToPage("/Index");
}
var user = await _userManager.FindByIdAsync(userId);
if (user == null)
{
return NotFound($"Unable to load user with ID '{userId}'.");
}
code = Encoding.UTF8.GetString(WebEncoders.Base64UrlDecode(code));
var result = await _userManager.ChangeEmailAsync(user, email, code);
if (!result.Succeeded)
{
StatusMessage = "Erreur lors de la modification de votre adresse email.";
return Page();
}
// In our UI email and user name are one and the same, so when we update the email
// we need to update the user name.
var setUserNameResult = await _userManager.SetUserNameAsync(user, email);
if (!setUserNameResult.Succeeded)
{
StatusMessage = "Erreur lors de la modification de votre nom d'utilisateur.";
return Page();
}
await _signInManager.RefreshSignInAsync(user);
StatusMessage = "Votre changement d'adresse mail a bien été confirmé.";
return Page();
}