Ejemplo n.º 1
0
 public static AddUserParameter ToParameter(this AddResourceOwnerRequest request)
 {
     return(new AddUserParameter
     {
         Login = request.Subject,
         Password = request.Password
     });
 }
        public async Task <ActionResult> Add([FromBody] AddResourceOwnerRequest addResourceOwnerRequest)
        {
            if (addResourceOwnerRequest == null)
            {
                throw new ArgumentNullException(nameof(addResourceOwnerRequest));
            }

            await _resourceOwnerActions.Add(addResourceOwnerRequest.ToParameter());

            await _representationManager.AddOrUpdateRepresentationAsync(this, StoreNames.GetResourceOwners, false);

            return(new NoContentResult());
        }
        public async Task <IActionResult> Add([FromBody] AddResourceOwnerRequest addResourceOwnerRequest)
        {
            if (addResourceOwnerRequest == null)
            {
                return(BuildError(ErrorCodes.InvalidRequestCode, "no parameter in body request", HttpStatusCode.BadRequest));
            }

            await _resourceOwnerActions.Add(addResourceOwnerRequest.ToParameter());

            await _representationManager.AddOrUpdateRepresentationAsync(this, StoreNames.GetResourceOwners, false);

            return(new NoContentResult());
        }
        public async Task <BaseResponse> ExecuteAsync(Uri resourceOwnerUri, AddResourceOwnerRequest resourceOwner, string authorizationHeaderValue = null)
        {
            if (resourceOwnerUri == null)
            {
                throw new ArgumentNullException(nameof(resourceOwnerUri));
            }

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

            var httpClient     = _httpClientFactory.GetHttpClient();
            var serializedJson = JObject.FromObject(resourceOwner).ToString();
            var body           = new StringContent(serializedJson, Encoding.UTF8, "application/json");
            var request        = new HttpRequestMessage
            {
                Method     = HttpMethod.Post,
                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());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Adds the passed resource owner.
        /// </summary>
        /// <param name="resourceOwner">The <see cref="AddResourceOwnerRequest"/>.</param>
        /// <param name="authorizationHeaderValue">The authorization token.</param>
        /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the async operation.</param>
        /// <returns></returns>
        public Task <Option <AddResourceOwnerResponse> > AddResourceOwner(
            AddResourceOwnerRequest resourceOwner,
            string authorizationHeaderValue,
            CancellationToken cancellationToken = default)
        {
            if (resourceOwner == null)
            {
                throw new ArgumentNullException(nameof(resourceOwner));
            }

            var request = new HttpRequestMessage
            {
                Method     = HttpMethod.Post,
                RequestUri = _discoveryInformation.ResourceOwners,
                Content    = new StringContent(
                    Serializer.Default.Serialize(resourceOwner),
                    Encoding.UTF8,
                    "application/json")
            };

            return(GetResult <AddResourceOwnerResponse>(request, authorizationHeaderValue, cancellationToken: cancellationToken));
        }
        public async Task <BaseResponse> ResolveAdd(Uri wellKnownConfigurationUri, AddResourceOwnerRequest request, string authorizationHeaderValue = null)
        {
            var configuration = await _configurationClient.GetConfiguration(wellKnownConfigurationUri).ConfigureAwait(false);

            return(await _addResourceOwnerOperation.ExecuteAsync(new Uri(configuration.Content.ResourceOwnersEndpoint), request, authorizationHeaderValue).ConfigureAwait(false));
        }