code: func ParseConfig(rawConfig map[string]interface{}, out interface{}) error {
  	decodeConf := &mapstructure.DecoderConfig{
  		Result:           out,
  		WeaklyTypedInput: true,
  		ErrorUnused:      true,
  	}
  
  	decoder, err := mapstructure.NewDecoder(decodeConf)
  	if err != nil {
  		return err
  	}
  
  	if err := decoder.Decode(rawConfig); err != nil {
  		return fmt.Errorf("error decoding config: %s", err)
  	}
  
  	return nil
  }
docs: // ParseConfig parses the config block for a auth method.