Example #1
0
        public async Task RequestResetPassword(RequestResetPasswordDto request, Func <object, string> resetPasswordUrlBuilder)
        {
            var user = await userManager.FindByEmailAsync(request.Email);

            if (user is null)
            {
                throw new BadRequestException("L'email fournit ne correspond à aucun utilisateur");
            }

            var token = await userManager.GeneratePasswordResetTokenAsync(user);

            var resetPwUrl = resetPasswordUrlBuilder(new RequestResetPasswordTokenDto
            {
                UserEmail          = user.Email,
                ResetPasswordToken = token,
            });

            try
            {
                await emailService.SendResetPasswordMail(user.Email, resetPwUrl);
            }
            catch (System.Exception)
            {
                throw new ApplicationException("Le serveur n'a pas pu envoyer le lien de confirmation à l'e-mail fourni. Veuillez réessayer plus tard ou contacter le support.");
            }
        }
Example #2
0
 public Task <bool> RequestResetPassword(
     RequestResetPasswordDto userEmail,
     Toast toast = default(Toast))
 {
     return(httpClientService.Post <RequestResetPasswordDto>(
                "api/user/RequestResetPassword",
                userEmail,
                toast));
 }
Example #3
0
 public Task RequestResetPassword([FromBody] RequestResetPasswordDto request)
 {
     return(accountService.RequestResetPassword(request, p => Url.Action(
                                                    "RedirectToResetPassword",
                                                    "User",
                                                    p,
                                                    Request.Scheme
                                                    )));
 }