Example #1
0
        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()));
        }