From 15081aa9c3a6df017d33a8db9057afa26d1fd3d5 Mon Sep 17 00:00:00 2001 From: David Wertenteil Date: Sun, 22 May 2022 15:45:55 +0300 Subject: [PATCH] update auth url --- core/cautils/getter/armoapi.go | 3 +- core/cautils/getter/armoapiutils.go | 45 ++++++++----------- .../armosec/v1/civarmoadaptor.go | 2 +- .../armosec/v1/civarmoadaptorutils.go | 2 +- 4 files changed, 22 insertions(+), 30 deletions(-) diff --git a/core/cautils/getter/armoapi.go b/core/cautils/getter/armoapi.go index 20362d00..d3b63be2 100644 --- a/core/cautils/getter/armoapi.go +++ b/core/cautils/getter/armoapi.go @@ -147,7 +147,8 @@ func (armoAPI *ArmoAPI) IsLoggedIn() bool { return armoAPI.loggedIn func (armoAPI *ArmoAPI) GetClientID() string { return armoAPI.clientID } func (armoAPI *ArmoAPI) GetSecretKey() string { return armoAPI.secretKey } func (armoAPI *ArmoAPI) GetFrontendURL() string { return armoAPI.feURL } -func (armoAPI *ArmoAPI) GetAPIURL() string { return armoAPI.apiURL } +func (armoAPI *ArmoAPI) GetApiURL() string { return armoAPI.apiURL } +func (armoAPI *ArmoAPI) GetAuthURL() string { return armoAPI.authURL } func (armoAPI *ArmoAPI) GetReportReceiverURL() string { return armoAPI.erURL } func (armoAPI *ArmoAPI) SetAccountID(accountID string) { armoAPI.accountID = accountID } func (armoAPI *ArmoAPI) SetClientID(clientID string) { armoAPI.clientID = clientID } diff --git a/core/cautils/getter/armoapiutils.go b/core/cautils/getter/armoapiutils.go index a8062772..562dabfe 100644 --- a/core/cautils/getter/armoapiutils.go +++ b/core/cautils/getter/armoapiutils.go @@ -9,23 +9,11 @@ import ( "strings" ) -func parseHost(urlObj *url.URL) { - if strings.Contains(urlObj.Host, "http://") { - urlObj.Scheme = "http" - urlObj.Host = strings.Replace(urlObj.Host, "http://", "", 1) - } else { - urlObj.Scheme = "https" - urlObj.Host = strings.Replace(urlObj.Host, "https://", "", 1) - } -} - var NativeFrameworks = []string{"nsa", "mitre", "armobest", "devopsbest"} func (armoAPI *ArmoAPI) getFrameworkURL(frameworkName string) string { u := url.URL{} - u.Host = armoAPI.GetAPIURL() - parseHost(&u) - + u.Scheme, u.Host = parseHost(armoAPI.GetApiURL()) u.Path = "api/v1/armoFrameworks" q := u.Query() q.Add("customerGUID", armoAPI.getCustomerGUIDFallBack()) @@ -42,9 +30,7 @@ func (armoAPI *ArmoAPI) getFrameworkURL(frameworkName string) string { func (armoAPI *ArmoAPI) getListFrameworkURL() string { u := url.URL{} - u.Host = armoAPI.GetAPIURL() - parseHost(&u) - + u.Scheme, u.Host = parseHost(armoAPI.GetApiURL()) u.Path = "api/v1/armoFrameworks" q := u.Query() q.Add("customerGUID", armoAPI.getCustomerGUIDFallBack()) @@ -54,8 +40,7 @@ func (armoAPI *ArmoAPI) getListFrameworkURL() string { } func (armoAPI *ArmoAPI) getExceptionsURL(clusterName string) string { u := url.URL{} - u.Host = armoAPI.GetAPIURL() - parseHost(&u) + u.Scheme, u.Host = parseHost(armoAPI.GetApiURL()) u.Path = "api/v1/armoPostureExceptions" q := u.Query() @@ -70,8 +55,7 @@ func (armoAPI *ArmoAPI) getExceptionsURL(clusterName string) string { func (armoAPI *ArmoAPI) exceptionsURL(exceptionsPolicyName string) string { u := url.URL{} - u.Host = armoAPI.GetAPIURL() - parseHost(&u) + u.Scheme, u.Host = parseHost(armoAPI.GetApiURL()) u.Path = "api/v1/postureExceptionPolicy" q := u.Query() @@ -93,8 +77,7 @@ func (armoAPI *ArmoAPI) getAccountConfigDefault(clusterName string) string { func (armoAPI *ArmoAPI) getAccountConfig(clusterName string) string { u := url.URL{} - u.Host = armoAPI.GetAPIURL() - parseHost(&u) + u.Scheme, u.Host = parseHost(armoAPI.GetApiURL()) u.Path = "api/v1/armoCustomerConfiguration" q := u.Query() @@ -109,22 +92,21 @@ func (armoAPI *ArmoAPI) getAccountConfig(clusterName string) string { func (armoAPI *ArmoAPI) getAccountURL() string { u := url.URL{} - u.Host = armoAPI.GetAPIURL() - parseHost(&u) + u.Scheme, u.Host = parseHost(armoAPI.GetApiURL()) u.Path = "api/v1/createTenant" return u.String() } func (armoAPI *ArmoAPI) getApiToken() string { u := url.URL{} - u.Scheme = "https" - u.Path = "frontegg/identity/resources/auth/v1/api-token" + u.Scheme, u.Host = parseHost(armoAPI.GetAuthURL()) + u.Path = "identity/resources/auth/v1/api-token" return u.String() } func (armoAPI *ArmoAPI) getOpenidCustomers() string { u := url.URL{} - u.Scheme = "https" + u.Scheme, u.Host = parseHost(armoAPI.GetApiURL()) u.Path = "api/v1/openid_customers" return u.String() } @@ -183,3 +165,12 @@ func (armoAPI *ArmoAPI) getCustomerGUIDFallBack() string { } return "11111111-1111-1111-1111-111111111111" } + +func parseHost(host string) (string, string) { + if strings.HasPrefix(host, "http://") { + return "http", strings.Replace(host, "http://", "", 1) + } + + // default scheme + return "https", strings.Replace(host, "https://", "", 1) +} diff --git a/core/pkg/registryadaptors/armosec/v1/civarmoadaptor.go b/core/pkg/registryadaptors/armosec/v1/civarmoadaptor.go index 86cc61c6..06db0980 100644 --- a/core/pkg/registryadaptors/armosec/v1/civarmoadaptor.go +++ b/core/pkg/registryadaptors/armosec/v1/civarmoadaptor.go @@ -51,7 +51,7 @@ func (armoCivAdaptor *ArmoCivAdaptor) GetImageVulnerability(imageID *registryvul pageNumber := 1 request := V2ListRequest{PageSize: &pageSize, PageNum: &pageNumber, InnerFilters: filter, OrderBy: "timestamp:desc"} requestBody, _ := json.Marshal(request) - requestUrl := fmt.Sprintf("https://%s/api/v1/vulnerability/scanResultsDetails?customerGUID=%s", armoCivAdaptor.armoAPI.GetAPIURL(), armoCivAdaptor.armoAPI.GetAccountID()) + requestUrl := fmt.Sprintf("https://%s/api/v1/vulnerability/scanResultsDetails?customerGUID=%s", armoCivAdaptor.armoAPI.GetApiURL(), armoCivAdaptor.armoAPI.GetAccountID()) resp, err := armoCivAdaptor.armoAPI.Post(requestUrl, map[string]string{"Content-Type": "application/json"}, requestBody) if err != nil { diff --git a/core/pkg/registryadaptors/armosec/v1/civarmoadaptorutils.go b/core/pkg/registryadaptors/armosec/v1/civarmoadaptorutils.go index e3112cbe..f70d9f7a 100644 --- a/core/pkg/registryadaptors/armosec/v1/civarmoadaptorutils.go +++ b/core/pkg/registryadaptors/armosec/v1/civarmoadaptorutils.go @@ -14,7 +14,7 @@ func (armoCivAdaptor *ArmoCivAdaptor) getImageLastScanId(imageID *registryvulner pageNumber := 1 request := V2ListRequest{PageSize: &pageSize, PageNum: &pageNumber, InnerFilters: filter, OrderBy: "timestamp:desc"} requestBody, _ := json.Marshal(request) - requestUrl := fmt.Sprintf("https://%s/api/v1/vulnerability/scanResultsSumSummary?customerGUID=%s", armoCivAdaptor.armoAPI.GetAPIURL(), armoCivAdaptor.armoAPI.GetAccountID()) + requestUrl := fmt.Sprintf("https://%s/api/v1/vulnerability/scanResultsSumSummary?customerGUID=%s", armoCivAdaptor.armoAPI.GetApiURL(), armoCivAdaptor.armoAPI.GetAccountID()) resp, err := armoCivAdaptor.armoAPI.Post(requestUrl, map[string]string{"Content-Type": "application/json"}, requestBody) if err != nil {