Ejemplo n.º 1
0
        internal EmailResult ResetPasswordMail(ResetPasswordMailModel model)
        {
            To.Add(model.User.Email);
            Subject = "Passwort zurücksetzen";

            return(Email("ResetPassword", model));
        }
        public void Index_WhenIdIsEmpty_ShouldReturnCallbackUrlAsNull()
        {
            ViewResult             result    = _subject.Index(_resetPasswordMailPageMock.Object, null, "en").Result as ViewResult;
            ResetPasswordMailModel viewModel = result.Model as ResetPasswordMailModel;

            Assert.IsNull(viewModel.CallbackUrl);
        }
        public void Index_WhenIdIsNotEmpty_ShouldReturnCallbackUrl()
        {
            string                 userId    = Guid.NewGuid().ToString();
            ViewResult             result    = _subject.Index(_resetPasswordMailPageMock.Object, userId, "en").Result as ViewResult;
            ResetPasswordMailModel viewModel = result.Model as ResetPasswordMailModel;

            Assert.IsNotNull(viewModel.CallbackUrl);
        }
Ejemplo n.º 4
0
        internal EmailResult ResetPasswordMail(ResetPasswordMailModel model)
        {
            InitSenderTopic(MAIL_SECTION_ACCOUNT);

            To.Add(model.User.Email);
            Subject = "Passwort zurücksetzen";

            return(Email("ResetPassword", model));
        }
        public async Task <ActionResult> Index(ResetPasswordMailPage currentPage, string id, string language)
        {
            ResetPasswordMailModel viewModel = new ResetPasswordMailModel();

            if (id != null)
            {
                string code = await UserManager.GeneratePasswordResetTokenAsync(id);

                viewModel.CallbackUrl = Url.Action("ResetPassword", "ResetPassword", new { userId = id, code = code, langauge = language }, protocol: Request.Url.Scheme);
            }

            return(View(viewModel));
        }
Ejemplo n.º 6
0
        public static async Task SendResetPasswordEmailAsync(IEmailService emailService, ApplicationUser user, string token)
        {
            const string callbackUrl = "https://www.bworld.fr/utilisateur/reinit-password?userId={0}&token={1}&dm=false";

            var createUserMailModel = new ResetPasswordMailModel();

            createUserMailModel.CallbackUrl = string.Format(callbackUrl, WebUtility.UrlEncode(user.Id), WebUtility.UrlEncode(token));
            createUserMailModel.UserName    = user.FullName;

            var templateMail =
                new StringTemplateRenderer().Render(ResourcesLoader.Load(Path.Combine("UserCore", "Renderers", "ResetPassword.st")), createUserMailModel);

            await SendEmailAsync(emailService, user, "[bworld] Re-initialisation mot de votre mot passe", templateMail);
        }
Ejemplo n.º 7
0
        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()));
        }