public HttpResponseMessage TestAPICredentials(string username, string password, string environment, bool awardLetterUploadEnabled = false)
        {
            try
            {
                string        stsURL  = string.Empty;
                List <string> apiURLs = new List <string>();

                switch (environment)
                {
                case EnvironmentConstants.SANDBOX:
                {
                    apiURLs.Add(ApiUrlConstants.SV_API_URL_SANDBOX);
                    apiURLs.Add(ApiUrlConstants.PM_API_URL_SANDBOX);
                    if (awardLetterUploadEnabled)
                    {
                        apiURLs.Add(ApiUrlConstants.AL_API_URL_SANDBOX);
                    }
                    stsURL = ApiUrlConstants.STS_URL_SANDBOX;
                    break;
                }

                case EnvironmentConstants.PRODUCTION:
                {
                    apiURLs.Add(ApiUrlConstants.SV_API_URL_PRODUCTION);
                    apiURLs.Add(ApiUrlConstants.PM_API_URL_PRODUCTION);
                    if (awardLetterUploadEnabled)
                    {
                        apiURLs.Add(ApiUrlConstants.AL_API_URL_PRODUCTION);
                    }
                    stsURL = ApiUrlConstants.STS_URL_PRODUCTION;
                    break;
                }

                default:
                {
                    apiURLs.Add(ApiUrlConstants.SV_API_URL_SANDBOX);
                    apiURLs.Add(ApiUrlConstants.PM_API_URL_SANDBOX);
                    if (awardLetterUploadEnabled)
                    {
                        apiURLs.Add(ApiUrlConstants.AL_API_URL_SANDBOX);
                    }
                    stsURL = ApiUrlConstants.STS_URL_SANDBOX;
                    break;
                }
                }
                CredentialsManager  credentialsManager = new CredentialsManager();
                HttpResponseMessage response           = credentialsManager.GetAuthorizationToken(username, password, apiURLs, stsURL);

                return(response);
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("TestAPICredentials Get Error: {0}", ex);
                return(Request.CreateResponse(HttpStatusCode.ExpectationFailed));
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Validate API Credentials
        /// </summary>
        /// <param name="applicationAppSettingsSection"></param>
        public static HttpResponseMessage ValidateApiCredentials(Dictionary <string, string> applicationAppSettingsSection, bool awardLetterUploadEnabled = false)
        {
            string        stsUrl;
            List <string> apiURLs = new List <string>();

            switch (applicationAppSettingsSection["environment"])
            {
            case EnvironmentConstants.SANDBOX:
            {
                apiURLs.Add(ApiUrlConstants.SV_API_URL_SANDBOX);
                apiURLs.Add(ApiUrlConstants.PM_API_URL_SANDBOX);
                if (awardLetterUploadEnabled)
                {
                    apiURLs.Add(ApiUrlConstants.AL_API_URL_SANDBOX);
                }
                stsUrl = ApiUrlConstants.STS_URL_SANDBOX;
                break;
            }

            case EnvironmentConstants.PRODUCTION:
            {
                apiURLs.Add(ApiUrlConstants.SV_API_URL_PRODUCTION);
                apiURLs.Add(ApiUrlConstants.PM_API_URL_PRODUCTION);
                if (awardLetterUploadEnabled)
                {
                    apiURLs.Add(ApiUrlConstants.AL_API_URL_PRODUCTION);
                }
                stsUrl = ApiUrlConstants.STS_URL_PRODUCTION;
                break;
            }

            default:
            {
                apiURLs.Add(ApiUrlConstants.SV_API_URL_SANDBOX);
                apiURLs.Add(ApiUrlConstants.PM_API_URL_SANDBOX);
                if (awardLetterUploadEnabled)
                {
                    apiURLs.Add(ApiUrlConstants.AL_API_URL_SANDBOX);
                }
                stsUrl = ApiUrlConstants.STS_URL_SANDBOX;
                break;
            }
            }
            CredentialsManager credentialsManager = new CredentialsManager();

            //Ensure ALL Credentials are valid
            var credentialsResponse = credentialsManager.GetAuthorizationToken(applicationAppSettingsSection["apiUsername"], applicationAppSettingsSection["apiPassword"], apiURLs, stsUrl);

            if (!credentialsResponse.IsSuccessStatusCode)
            {
                logger.Fatal($"API Credentials are not valid, username: {applicationAppSettingsSection["apiUsername"]}, password: {applicationAppSettingsSection["apiPassword"]}");
                return(new HttpResponseMessage(HttpStatusCode.ExpectationFailed));
            }

            return(new HttpResponseMessage(HttpStatusCode.OK));
        }