public async Task ConstructEmailAndSendAsync(AppUser user, IEmailVerificationRequest request) { var emailToken = await _userManager.GenerateEmailConfirmationTokenAsync(user); var queryToken = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(emailToken)); var verifyEmailUrl = $"{request.Origin}/user/verifyEmail?token={queryToken}&email={request.Email}"; var emailHtml = $"<p>Please click the link below to verify your email address:</p><a href='{verifyEmailUrl}'>Click To Verify</a>"; await SendEmailAsync(request.Email, "Lively - Verify Email Address", emailHtml); }
/// <summary> /// Synchronously gets the <see cref="IAccountStore">Account Store</see> used for this request. /// </summary> /// <param name="request">The request.</param> /// <returns>The <see cref="IAccountStore">Account Store</see>, or <see langword="null"/> if no Account Store was set.</returns> public static IAccountStore GetAccountStore(this IEmailVerificationRequest request) => (request as IEmailVerificationRequestSync).GetAccountStore();