config.go
func LoadConfig(path string) (*ClientConfig, error) {
	content, err := ioutil.ReadFile(path)
	if err != nil {
		return nil, err
	}
	var config ClientConfig
	err = json.Unmarshal(content, &config)
	if err != nil {
		return nil, err
	}
	config.Password, err = Decrypt(config.Password)
	if err != nil {
		return nil, err
	}
	config.RefreshToken, err = Decrypt(config.RefreshToken)
	return &config, err
}
func LoadConfig(path string) (*ClientConfig, error) {
	content, err := ioutil.ReadFile(path)
	if err != nil {
		return nil, err
	}
	var config ClientConfig
	err = json.Unmarshal(content, &config)
	if err != nil {
		return nil, err
	}
	config.Password, err = Decrypt(config.Password)
	if err != nil {
		return nil, err
	}
	config.RefreshToken, err = Decrypt(config.RefreshToken)
	return &config, err
}
// LoadConfig loads the client configuration from disk