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 }); }
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)); }