예제 #1
0
        public IHttpActionResult GenerateAccessToken()
        {
            string bearerAuth = string.Empty;
            string grantType  = string.Empty;

            System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers;
            if (headers.Contains("Authorization"))
            {
                bearerAuth = headers.GetValues("Authorization").First();
                if (!IsBearerValid(bearerAuth))
                {
                    return(Unauthorized());
                }
                ;
            }
            else
            {
                return(Unauthorized());
            }
            if (headers.Contains("Grant-type"))
            {
                grantType = headers.GetValues("Grant-type").First();
                if (!grantType.Equals("client_credentials"))
                {
                    return(Unauthorized());
                }
                ;
            }
            else
            {
                return(Unauthorized());
            }

            var response = NameEnquiryLogic.GenerateToken();

            if (response != null)
            {
                return(Ok(response));
            }
            else
            {
                return(NotFound());
            }
        }
예제 #2
0
        public IHttpActionResult DoDebit(DebitRequest req)
        {
            string bearerAccessToken = string.Empty;
            string signature         = string.Empty;

            System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers;
            if (headers.Contains("Authorization"))
            {
                bearerAccessToken = headers.GetValues("Authorization").First();
                if (!bearerAccessToken.Trim().StartsWith("Bearer "))
                {
                    return(Unauthorized());
                }
                ;
                if (!Utils.IsAccessTokenValid(bearerAccessToken.Replace("Bearer ", "")))
                {
                    return(Unauthorized());
                }
                ;
            }
            else
            {
                return(Unauthorized());
            }
            if (headers.Contains("signature"))
            {
                signature = headers.GetValues("signature").First();
                if (!IsSignatureValid(signature, req))
                {
                    return(Unauthorized());
                }
                ;
            }
            else
            {
                return(Unauthorized());
            }
            var response = NameEnquiryLogic.DoDebit(req);

            return(Ok(response));
        }
예제 #3
0
 public NameEnquiryResponseResult ProcessNameEnquiryRequest(string CustomerID)
 {
     return(NameEnquiryLogic.DoNameEnquiry(CustomerID));
 }