private void SendAccountConfirmationMail(User user) { _fireAndForgetService.FireAsync <UserManager <User> >(async(userManager) => { var confirmEmailToken = await userManager.GenerateEmailConfirmationTokenAsync(user); var tokenGeneratedBytes = Encoding.UTF8.GetBytes(confirmEmailToken); var codeEncoded = WebEncoders.Base64UrlEncode(tokenGeneratedBytes); var model = new AccountConfirmationMailModel { Subject = "Potwierdzenie rejestracji", To = user.Email, ToAddress = user.Email, ActivationUrl = $"{_configuration["FrontendUrl"]}/confirm-email?id={user.Id}&token={codeEncoded}" }; await _mailSendingService.SendMailAsync(model); }); }
public async Task <Result> Handle(ForgotPasswordCommand request, CancellationToken cancellationToken) { _fireAndForgetService.FireAsync <UserManager <User> >(async(userManager) => { var user = await userManager.FindByEmailAsync(request.Email); var resetPasswordToken = await userManager.GeneratePasswordResetTokenAsync(user); var tokenGeneratedBytes = Encoding.UTF8.GetBytes(resetPasswordToken); var codeEncoded = WebEncoders.Base64UrlEncode(tokenGeneratedBytes); var model = new ResetPasswordMailModel { Subject = "Resetowanie hasła", To = request.Email, ToAddress = request.Email, ResetPasswordUrl = $"{_configuration["FrontendUrl"]}/reset-password?id={user.Id}&token={codeEncoded}" }; await _mailSendingService.SendMailAsync(model); }); return(await Task.FromResult(new Result())); }