X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=capifcore%2Finternal%2Fkeycloak%2Fkeycloak.go;fp=capifcore%2Finternal%2Fkeycloak%2Fkeycloak.go;h=a4506e02abc45f3dd9616c1a1bfc88a26993e1f4;hb=a5609aed918b4b53eda377f78374dd4abe5d2eb1;hp=200f8d477127ef6ce6f67ef60f738d818f27677f;hpb=c1c21a550797f3bb038692da2960b6e7fe454c98;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/internal/keycloak/keycloak.go b/capifcore/internal/keycloak/keycloak.go index 200f8d4..a4506e0 100644 --- a/capifcore/internal/keycloak/keycloak.go +++ b/capifcore/internal/keycloak/keycloak.go @@ -84,7 +84,12 @@ type Jwttoken struct { func (km *KeycloakManager) GetToken(realm string, data map[string][]string) (Jwttoken, error) { var jwt Jwttoken - getTokenUrl := km.keycloakServerUrl + "/realms/" + realm + "/protocol/openid-connect/token" + realmVal, ok := km.realms[realm] + if !ok { + log.Errorf("error realm does not exist\n") + return jwt, errors.New("realm does not exist") + } + getTokenUrl := km.keycloakServerUrl + "/realms/" + realmVal + "/protocol/openid-connect/token" resp, err := http.PostForm(getTokenUrl, data) if err != nil { @@ -128,7 +133,13 @@ func (km *KeycloakManager) AddClient(clientId string, realm string) error { return err } - createClientUrl := km.keycloakServerUrl + "/admin/realms/" + realm + "/clients" + realmVal, ok := km.realms[realm] + if !ok { + log.Errorf("error realm does not exist\n") + return errors.New("realm does not exist") + } + + createClientUrl := km.keycloakServerUrl + "/admin/realms/" + realmVal + "/clients" newClient := map[string]interface{}{"clientId": clientId, "serviceAccountsEnabled": true} body, err := json.Marshal(newClient) @@ -156,7 +167,13 @@ func (km *KeycloakManager) GetClientRepresentation(clientId string, realm string return nil, err } - createClientUrl, _ := url.Parse(km.keycloakServerUrl + "/admin/realms/" + realm + "/clients") + realmVal, ok := km.realms[realm] + if !ok { + log.Errorf("error realm does not exist\n") + return nil, errors.New("realm does not exist") + } + + createClientUrl, _ := url.Parse(km.keycloakServerUrl + "/admin/realms/" + realmVal + "/clients") q := createClientUrl.Query() q.Add("clientId", clientId) createClientUrl.RawQuery = q.Encode()