code: func (s Strategies) AuthenticatorFor(strategies ...string) Authenticator {
  	var authenticators []Authenticator
  	if len(strategies) > 0 {
  		for _, name := range strategies {
  			strategy := s.strategy(name)
  			if strategy == nil {
  				panic(fmt.Errorf("unknown strategy: %s", name))
  			}
  			authenticators = append(authenticators, strategy)
  		}
  	} else {
  		for _, strategy := range s {
  			if !strategy.Disabled {
  				authenticators = append(authenticators, strategy)
  			}
  		}
  	}
  	return MultiAuthenticator(authenticators...)
  }
docs: // AuthenticatorFor builds an Authenticator using the given strategies (by
  // name). If no strategies are provided, all strategies will be used. If a
  // strategy is not found, a fake strategy will be returned that will return an
  // error when used.