Exemplo n.º 1
0
        public static AccessTokenResponse postAccessTokenFromAuthCode()
        {
            AccessTokenResponse result = null;

            try
            {
                configDictionary = GetConfiguration();
                configDictionary["authenticationType"] = "Mutual_Auth";
                var clientConfig = new CyberSource.Client.Configuration(merchConfigDictObj: configDictionary);

                var requestObj = new CreateAccessTokenRequest(
                    Code: code,
                    GrantType: grantType,
                    ClientId: configDictionary["clientId"],
                    ClientSecret: configDictionary["clientSecret"]
                    );

                var apiInstance = new OAuthApi(clientConfig);
                result = apiInstance.PostAccessTokenRequest(requestObj);
                Console.WriteLine(result);
                return(result);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception on calling the API : " + e.Message);
                return(null);
            }
        }
        /// <exception cref="CyberSource.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="createAccessTokenRequest"></param>
        /// <returns>AccessTokenResponse</returns>
        public AccessTokenResponse PostAccessTokenRequest(CreateAccessTokenRequest createAccessTokenRequest)
        {
            logger.Debug("CALLING API \"PostAccessTokenRequest\" STARTED");
            ApiResponse <AccessTokenResponse> localVarResponse = PostAccessTokenRequestWithHttpInfo(createAccessTokenRequest);

            logger.Debug("CALLING API \"PostAccessTokenRequest\" ENDED");
            return(localVarResponse.Data);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Creates an access token.
        /// </summary>
        /// <param name="payload">the access token payload</param>
        /// <returns>the access token</returns>
        public Task <Token> CreateAccessToken(TokenPayload payload)
        {
            payload.From = new TokenMember {
                Id = MemberId
            };
            var request = new CreateAccessTokenRequest {
                Payload = payload
            };

            return(gateway(authenticationContext()).CreateAccessTokenAsync(request)
                   .ToTask(response => response.Token));
        }
Exemplo n.º 4
0
        public async Task <CreatedActionResult <UserAccessTokenResponseWithKey> > PostCreateUserAccessToken(
            [FromBody] CreateAccessTokenRequest request
            )
        {
            // FIXME: userSession if userId is not found, check in db if long duration session still valid
            var userId = HttpContext.Session.GetCurrentUserId();

            if (!userId.HasValue)
            {
                return(StatusCode(StatusCodes.Status401Unauthorized));
            }

            var accessToken = await _userAccessTokenService.CreateUserAccessTokenAsync(userId.Value, request);

            return(_mapper.Map <UserAccessTokenResponseWithKey>(accessToken));
        }
Exemplo n.º 5
0
        public async Task <UserAccessToken> CreateUserAccessTokenAsync(int userId, CreateAccessTokenRequest request)
        {
            using (var uow = _unitOfWorkFactory.CreateUnitOfWork())
            {
                var token = new UserAccessToken
                {
                    Id          = Guid.NewGuid(),
                    Key         = RngHelper.GetRandomHexString(64),
                    Name        = request.Name,
                    UserId      = userId,
                    DateCreated = _timeService.UtcNow
                };
                uow.UserAccessTokenRepository.Add(token);
                await uow.SaveChangesAsync();

                return(token);
            }
        }
        public BaseResponse <GetAccessTokenResponse, MundipaggErrorsResponse> CreateAccessToken(string customerId, CreateAccessTokenRequest request)
        {
            var method   = HttpMethod.Post;
            var endpoint = $"/customers/{customerId}/access-tokens";

            return(this.SendRequest <GetAccessTokenResponse>(method, endpoint, request));
        }
Exemplo n.º 7
0
        public async Task <IActionResult> CreateAccessToken([FromHeader, Required] string authorization, [FromBody, Required] CreateAccessTokenRequest request)
        {
            if (!ModelState.IsValid)
            {
                _logger.LogInformation("Model state is invalid, returning bad request");
                return(BadRequest());
            }

            if (!AuthenticationHeaderValue.TryParse(authorization, out var authHeader))
            {
                _logger.LogInformation($"Could not parse auth header [{authorization}]");
                return(StatusCode(StatusCodes.Status401Unauthorized));
            }
            if (authHeader.Scheme != "Basic")
            {
                _logger.LogInformation($"Auth header [{authorization}] is not Basic scheme");
                return(StatusCode(StatusCodes.Status401Unauthorized));
            }

            var accessTokenResponse = await _mediator.Send(new ValidateCredentialsAndCreateAccessTokenRequest(authHeader.Parameter, request.RefreshToken));

            if (accessTokenResponse == null)
            {
                _logger.LogInformation($"Could not create an access token for auth header [{authorization}]");
                return(StatusCode(StatusCodes.Status401Unauthorized));
            }

            if (accessTokenResponse.AccessToken == null)
            {
                return(BadRequest(accessTokenResponse));
            }

            return(Ok(accessTokenResponse));
        }
Exemplo n.º 8
0
        /// <exception cref="CyberSource.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="createAccessTokenRequest"></param>
        /// <returns>Task of ApiResponse (AccessTokenResponse)</returns>
        public async System.Threading.Tasks.Task <ApiResponse <AccessTokenResponse> > PostAccessTokenRequestAsyncWithHttpInfo(CreateAccessTokenRequest createAccessTokenRequest)
        {
            // verify the required parameter 'createAccessTokenRequest' is set
            if (createAccessTokenRequest == null)
            {
                throw new ApiException(400, "Missing required parameter 'createAccessTokenRequest' when calling OAuthApi->PostAccessTokenRequest");
            }

            var    localVarPath         = $"/oauth2/v3/token";
            var    localVarPathParams   = new Dictionary <string, string>();
            var    localVarQueryParams  = new Dictionary <string, string>();
            var    localVarHeaderParams = new Dictionary <string, string>(Configuration.DefaultHeader);
            var    localVarFormParams   = new Dictionary <string, string>();
            var    localVarFileParams   = new Dictionary <string, FileParameter>();
            object localVarPostBody     = null;

            // to determine the Content-Type header
            string[] localVarHttpContentTypes = new string[] {
                "application/x-www-form-urlencoded"
            };
            string localVarHttpContentType = Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);

            // to determine the Accept header
            string[] localVarHttpHeaderAccepts = new string[] {
                "application/json"
            };
            string localVarHttpHeaderAccept = Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);

            if (localVarHttpHeaderAccept != null)
            {
                localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
            }

            if (createAccessTokenRequest != null && createAccessTokenRequest.GetType() != typeof(byte[]))
            {
                localVarPostBody = Configuration.ApiClient.Serialize(createAccessTokenRequest); // http body (model) parameter
            }
            else
            {
                localVarPostBody = createAccessTokenRequest; // byte array
            }

            if (false)
            {
            }
            else
            {
            }


            // make the HTTP request
            IRestResponse localVarResponse = (IRestResponse)await Configuration.ApiClient.CallApiAsync(localVarPath,
                                                                                                       Method.POST, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
                                                                                                       localVarPathParams, localVarHttpContentType);

            int localVarStatusCode = (int)localVarResponse.StatusCode;

            if (ExceptionFactory != null)
            {
                Exception exception = ExceptionFactory("PostAccessTokenRequest", localVarResponse);
                if (exception != null)
                {
                    throw exception;
                }
            }

            return(new ApiResponse <AccessTokenResponse>(localVarStatusCode,
                                                         localVarResponse.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()),
                                                         (AccessTokenResponse)Configuration.ApiClient.Deserialize(localVarResponse, typeof(AccessTokenResponse)))); // Return statement
        }
Exemplo n.º 9
0
        /// <exception cref="CyberSource.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="createAccessTokenRequest"></param>
        /// <returns>Task of AccessTokenResponse</returns>
        public async System.Threading.Tasks.Task <AccessTokenResponse> PostAccessTokenRequestAsync(CreateAccessTokenRequest createAccessTokenRequest)
        {
            ApiResponse <AccessTokenResponse> localVarResponse = await PostAccessTokenRequestAsyncWithHttpInfo(createAccessTokenRequest);

            return(localVarResponse.Data);
        }
Exemplo n.º 10
0
        /// <exception cref="CyberSource.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="createAccessTokenRequest"></param>
        /// <returns>AccessTokenResponse</returns>
        public AccessTokenResponse PostAccessTokenRequest(CreateAccessTokenRequest createAccessTokenRequest)
        {
            ApiResponse <AccessTokenResponse> localVarResponse = PostAccessTokenRequestWithHttpInfo(createAccessTokenRequest);

            return(localVarResponse.Data);
        }
        /// <exception cref="CyberSource.Client.ApiException">Thrown when fails to make API call</exception>
        /// <param name="createAccessTokenRequest"></param>
        /// <returns>Task of AccessTokenResponse</returns>
        public async System.Threading.Tasks.Task <AccessTokenResponse> PostAccessTokenRequestAsync(CreateAccessTokenRequest createAccessTokenRequest)
        {
            logger.Debug("CALLING API \"PostAccessTokenRequestAsync\" STARTED");
            ApiResponse <AccessTokenResponse> localVarResponse = await PostAccessTokenRequestAsyncWithHttpInfo(createAccessTokenRequest);

            logger.Debug("CALLING API \"PostAccessTokenRequestAsync\" STARTED");
            return(localVarResponse.Data);
        }