code: function handleAuthStrategy (config) {
    const authStrategies = {
      none: require('../authentication/open-authentication-handler'), // eslint-disable-line
      file: require('../authentication/file-based-authentication-handler'), // eslint-disable-line
      http: require('../authentication/http-authentication-handler') // eslint-disable-line
    }
  
    if (!config.auth) {
      throw new Error('No authentication type specified')
    }
  
    if (commandLineArguments.disableAuth) {
      config.auth.type = 'none'
      config.auth.options = {}
    }
  
    if (config.auth.name || config.auth.path) {
      const AuthHandler = resolvePluginClass(config.auth, 'authentication')
      if (!AuthHandler) {
        throw new Error(`unable to resolve authentication handler ${config.auth.name || config.auth.path}`)
      }
      config.authenticationHandler = new AuthHandler(config.auth.options, config.logger)
      return
    }
  
    if (!authStrategies[config.auth.type]) {
      throw new Error(`Unknown authentication type ${config.auth.type}`)
    }
  
    if (config.auth.options && config.auth.options.path) {
      config.auth.options.path = fileUtils.lookupConfRequirePath(config.auth.options.path)
    }
  
    config.authenticationHandler =
      new (authStrategies[config.auth.type])(config.auth.options, config.logger)
  }
docs: Instantiates the authentication handler registered for *config.auth.type*
  
  CLI arguments will be considered.
  
  @param   {Object} config deepstream configuration object
  
  @private
  @returns {void}