예제 #1
0
        public async Task <IActionResult> ChangePassword([FromBody] PasswordPayload passwordPayload)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var regex = new Regex("(?=.*?[0-9])(?=.*?[A-Za-z]).+");

            if (!regex.IsMatch(passwordPayload.NewPassword))
            {
                return(BadRequest("Password must contain at least 1 character and 1 number"));
            }
            try
            {
                await _userManager.ChangePasswordAsync(User.Claims.FirstOrDefault(x => x.Type.Equals("login"))?.Value,
                                                       passwordPayload.OldPassword, passwordPayload.NewPassword);

                return(NoContent());
            }
            catch (ArgumentException e)
            {
                return(BadRequest(e.Message));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
예제 #2
0
파일: EMailAuth.cs 프로젝트: sps014/OnFire
        public async void ChangePassword(string password, string idToken)
        {
            PasswordPayload p = new PasswordPayload()
            {
                password = password, idToken = idToken
            };
            string URL = "https://identitytoolkit.googleapis.com/v1/accounts:update?key=" + AuthKey;
            var    res = await client.Post(URL, p);

            if (res.IsSuccessStatusCode)
            {
                Stream m = await res.Content.ReadAsStreamAsync();

                Dictionary <string, object> data = await JsonSerializer.DeserializeAsync <Dictionary <string, object> >(m);
            }
            else
            {
                //todo
            }
        }