public async Task <IActionResult> UpdatePassword([FromBody] UpdateResourceOwnerPasswordRequest updateResourceOwnerPasswordRequest)
        {
            if (updateResourceOwnerPasswordRequest == null)
            {
                return(BuildError(ErrorCodes.InvalidRequestCode, "no parameter in body request", HttpStatusCode.BadRequest));
            }

            await _resourceOwnerActions.UpdateResourceOwnerPassword(updateResourceOwnerPasswordRequest.ToParameter());

            await _representationManager.AddOrUpdateRepresentationAsync(this, StoreNames.GetResourceOwner + updateResourceOwnerPasswordRequest.Login, false);

            return(new OkResult());
        }
        public static UpdateResourceOwnerPasswordParameter ToParameter(this UpdateResourceOwnerPasswordRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(new UpdateResourceOwnerPasswordParameter
            {
                Login = request.Login,
                Password = request.Password
            });
        }
Esempio n. 3
0
        public async Task <BaseResponse> ExecuteAsync(Uri resourceOwnerUri, UpdateResourceOwnerPasswordRequest updateResourceOwnerPasswordRequest, string authorizationHeaderValue = null)
        {
            if (resourceOwnerUri == null)
            {
                throw new ArgumentNullException(nameof(resourceOwnerUri));
            }

            if (updateResourceOwnerPasswordRequest == null)
            {
                throw new ArgumentNullException(nameof(updateResourceOwnerPasswordRequest));
            }

            var httpClient     = _httpClientFactory.GetHttpClient();
            var serializedJson = JsonConvert.SerializeObject(updateResourceOwnerPasswordRequest).ToString();
            var body           = new StringContent(serializedJson, Encoding.UTF8, "application/json");
            var request        = new HttpRequestMessage
            {
                Method     = HttpMethod.Put,
                RequestUri = resourceOwnerUri,
                Content    = body
            };

            if (!string.IsNullOrWhiteSpace(authorizationHeaderValue))
            {
                request.Headers.Add("Authorization", "Bearer " + authorizationHeaderValue);
            }

            var httpResult = await httpClient.SendAsync(request);

            var content = await httpResult.Content.ReadAsStringAsync().ConfigureAwait(false);

            try
            {
                httpResult.EnsureSuccessStatusCode();
            }
            catch (Exception)
            {
                return(new BaseResponse
                {
                    ContainsError = true,
                    Error = JsonConvert.DeserializeObject <ErrorResponse>(content),
                    HttpStatus = httpResult.StatusCode
                });
            }

            return(new BaseResponse());
        }
        public async Task <BaseResponse> ResolveUpdatePassword(Uri wellKnownConfigurationUri, UpdateResourceOwnerPasswordRequest request, string authorizationHeaderValue = null)
        {
            var configuration = await _configurationClient.GetConfiguration(wellKnownConfigurationUri).ConfigureAwait(false);

            return(await _updateResourceOwnerPasswordOperation.ExecuteAsync(new Uri(configuration.Content.ResourceOwnersEndpoint + "/password"), request, authorizationHeaderValue).ConfigureAwait(false));
        }