示例#1
0
        public async ValueTask <HttpResponseMessage> Info_SetPasswordV1(string jwt, PasswordAddV1 model)
        {
            _http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", jwt);

            return(await _http.PutAsync("info/v1/set-password",
                                        new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json")));
        }
示例#2
0
        public IActionResult SetPasswordV1([FromRoute] Guid audienceID, [FromBody] PasswordAddV1 model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var audience = uow.Audiences.Get(x => x.Id == audienceID)
                           .SingleOrDefault();

            if (audience == null)
            {
                ModelState.AddModelError(MessageType.AudienceNotFound.ToString(), $"Audience:{audienceID}");
                return(NotFound(ModelState));
            }

            if (model.NewPassword != model.NewPasswordConfirm ||
                !new ValidationHelper().ValidatePassword(model.NewPassword).Succeeded)
            {
                ModelState.AddModelError(MessageType.AudienceInvalid.ToString(), $"Bad password for audience:{audience.Id}");
                return(BadRequest(ModelState));
            }

            uow.Audiences.SetPassword(audience, model.NewPassword);
            uow.Commit();

            return(NoContent());
        }
示例#3
0
        public async ValueTask <bool> User_SetPasswordV1(Guid userID, PasswordAddV1 model)
        {
            var response = await Endpoints.User_SetPasswordV1(Grant.AccessToken.RawData, userID, model);

            if (response.IsSuccessStatusCode)
            {
                return(true);
            }

            throw new HttpRequestException(response.RequestMessage.ToString(),
                                           new Exception(response.ToString()));
        }