package verify import ( "fmt" "os" "strconv" "strings" "github.com/go-logr/logr" ) func Verify() error { result := make([]string, 0) if Issuer() == "" { result = append(result, "IAM_ISSUER") } if IssuerURL() == "" { result = append(result, "IAM_ISSUER_URL") } if ClientURL() == "" { result = append(result, "IAM_CLIENT_URL") } if len(result) > 0 { return fmt.Errorf("missing the following configuration: %v", strings.Join(result, ", ")) } return nil } func Info(logger logr.Logger) { logger.Info("Using configuration:", "ISSUER", Issuer(), "AuthURL", IssuerURL(), "ClientURL", ClientURL(), "InClusterIssuerURL", InClusterIssuerURL(), "ADDR", Addr()) } // Where Edge-ID is running (Auth Server) func IssuerURL() string { return os.Getenv("IAM_ISSUER_URL") } // The host where client is running func ClientURL() string { return os.Getenv("IAM_CLIENT_URL") } // In cluster URL of Edge-ID func InClusterIssuerURL() string { return os.Getenv("IAM_INCLUSTER_ISSUER_URL") } // This is to distinguish as we have emergency barcodes as well. func GetBarcodeLength() int { return 20 } // To check if client is in Dev mode func DevMode() bool { value, exist := os.LookupEnv("IAM_DEV_MODE") if exist { isTrue, _ := strconv.ParseBool(value) return isTrue } return false } // The one minted on the token func Issuer() string { return os.Getenv("IAM_ISSUER") } // The one minted on the token func ClientID() string { return os.Getenv("CLIENT_ID") } // The one minted on the token func ClientSecret() string { return os.Getenv("CLIENT_SECRET") } func BslExpectedOrganization() string { value, exist := os.LookupEnv("BSL_ORGANIZATION") if exist { return value } return "dev-ex" } func BslExpectedSubject() string { value, exist := os.LookupEnv("BSL_SUBJECT") if exist { return value } return "ew250055" } func Addr() string { addr, found := os.LookupEnv("IAM_TEST_ADDR") if !found { return ":8088" } return addr }