コード例 #1
0
        public async Task <ClientApiResponse> ResetPassword(ResetPasswordParameters resetPasswordParameters)
        {
            ClientApiResponse apiResponse = await _authorizeApi.ResetPassword(resetPasswordParameters);

            NotifyAuthenticationStateChanged(GetAuthenticationStateAsync());
            return(apiResponse);
        }
コード例 #2
0
        public IHttpActionResult ResetPassword([FromBody] ResetPasswordParameters parameters)
        {
            string          username       = HttpUtility.UrlDecode(parameters.username);
            ApplicationUser user           = UserManager.FindByName(username);
            string          newPassword    = HttpUtility.UrlDecode(parameters.newPassword);
            IdentityResult  identityResult = UserManager.ResetPassword(user.Id, parameters.resetToken, newPassword);

            if (!identityResult.Succeeded)
            {
                return(GetErrorResult(identityResult));
            }
            return(Ok());
        }
コード例 #3
0
        public async Task <IActionResult> ResetPassword(ResetPasswordParameters parameters)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values.SelectMany(state => state.Errors)
                                  .Select(error => error.ErrorMessage)
                                  .FirstOrDefault()));
            }

            var user = await _userManager.FindByIdAsync(parameters.UserId);

            if (user == null)
            {
                _logger.LogInformation("User does not exist: {0}", parameters.UserId);
                return(BadRequest("User does not exist"));
            }

            #region Reset Password Successful Email
            try
            {
                IdentityResult result = await _userManager.ResetPasswordAsync(user, parameters.Token, parameters.Password);

                if (result.Succeeded)
                {
                    #region Email Successful Password change
                    var email = new EmailMessage();
                    email.ToAddresses.Add(new EmailAddress(user.Email, user.Email));
                    email.FromAddresses.Add(new EmailAddress("*****@*****.**", "*****@*****.**"));
                    email = EmailTemplates.BuildPasswordResetEmail(email, user.UserName); //Replace First UserName with Name if you want to add name to Registration Form

                    _logger.LogInformation("Reset Password Successful Email Sent: {0}", user.Email);
                    await _emailService.SendEmailAsync(email);

                    #endregion

                    return(Ok(new { success = "true" }));
                }
                else
                {
                    _logger.LogInformation("Error while resetting the password!: {0}", user.UserName);
                    return(BadRequest(string.Format("Error while resetting the password!: {0}", user.UserName)));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation("Reset Password failed: {0}", ex.Message);
                return(BadRequest(string.Format("Error while resetting the password!: {0}", ex.Message)));
            }
            #endregion
        }
コード例 #4
0
        public async Task <APIResponse> ResetPassword(ResetPasswordParameters parameters)
        {
            if (!ModelState.IsValid)
            {
                return(new APIResponse(400, "User Model is Invalid"));
            }

            var user = await _userManager.FindByIdAsync(parameters.UserId);

            if (user == null)
            {
                _logger.LogInformation("User does not exist: {0}", parameters.UserId);
                return(new APIResponse(404, "User does not exist"));
            }

            #region Reset Password Successful Email
            try
            {
                IdentityResult result = await _userManager.ResetPasswordAsync(user, parameters.Token, parameters.Password);

                if (result.Succeeded)
                {
                    #region Email Successful Password change
                    var email = new EmailMessage();
                    email.ToAddresses.Add(new EmailAddress(user.Email, user.Email));
                    email = EmailTemplates.BuildPasswordResetEmail(email, user.UserName); //Replace First UserName with Name if you want to add name to Registration Form

                    _logger.LogInformation("Reset Password Successful Email Sent: {0}", user.Email);
                    await _emailService.SendEmailAsync(email);

                    #endregion

                    return(new APIResponse(200, String.Format("Reset Password Successful Email Sent: {0}", user.Email)));
                }
                else
                {
                    _logger.LogInformation("Error while resetting the password!: {0}", user.UserName);
                    return(new APIResponse(400, string.Format("Error while resetting the password!: {0}", user.UserName)));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation("Reset Password failed: {0}", ex.Message);
                return(new APIResponse(400, string.Format("Error while resetting the password!: {0}", ex.Message)));
            }
            #endregion
        }
コード例 #5
0
        public async Task ResetPassword(ResetPasswordParameters resetPasswordParameters)
        {
            await _authorizeApi.ResetPassword(resetPasswordParameters);

            NotifyAuthenticationStateChanged(GetAuthenticationStateAsync());
        }
コード例 #6
0
 public async Task ResetPassword(ResetPasswordParameters resetPasswordParameters)
 {
     await _httpClient.PostJsonAsync <UserInfo>("api/Authorize/ResetPassword", resetPasswordParameters);
 }
コード例 #7
0
 public async Task <ClientApiResponse> ResetPassword(ResetPasswordParameters resetPasswordParameters)
 {
     return(await _httpClient.PostJsonAsync <ClientApiResponse>("api/Authorize/ResetPassword", resetPasswordParameters));
 }