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."); } }
public Task <bool> RequestResetPassword( RequestResetPasswordDto userEmail, Toast toast = default(Toast)) { return(httpClientService.Post <RequestResetPasswordDto>( "api/user/RequestResetPassword", userEmail, toast)); }
public Task RequestResetPassword([FromBody] RequestResetPasswordDto request) { return(accountService.RequestResetPassword(request, p => Url.Action( "RedirectToResetPassword", "User", p, Request.Scheme ))); }