public async Task <IActionResult> OnGetAsync(string email) { if (email == null) { return(RedirectToPage("/Index")); } var user = await _userManager.FindByEmailAsync(email); if (user == null) { return(NotFound($"Unable to load user with email '{email}'.")); } Email = email; // Once you add a real email sender, you should remove this code that lets you confirm the account DisplayConfirmAccountLink = true; if (DisplayConfirmAccountLink) { var userId = await _userManager.GetUserIdAsync(user); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); EmailConfirmationUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = userId, code = code }, protocol: Request.Scheme); } return(Page()); }
public void SendRegistrationEmail(Microsoft.AspNetCore.Identity.UserManager <ApplicationUser> userManager, ApplicationUser user) { string tokenId = new TokenManager(context).SaveToken( new Token { User = user, UserToken = userManager.GenerateEmailConfirmationTokenAsync(user) .Result, ExpiryDate = DateTime.Now.AddDays(1) }); string requestUrl = Configuration["FrontEndUrl:BaseUrl"] + Configuration["FrontEndUrl:VerifyAccountUrlPreffix"] + tokenId; IdentityMessage message = new IdentityMessage { Body = requestUrl, Destination = user.Email, Subject = "Registration Verification" }; new EmailService().SendEmailAsync(message); }