public async Task OnGetAsync()

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();
        }