code: func BuildAuthn(client authenticationclient.TokenReviewInterface, authn kubeletconfig.KubeletAuthentication) (authenticator.Request, error) {
  	authenticatorConfig := authenticatorfactory.DelegatingAuthenticatorConfig{
  		Anonymous:    authn.Anonymous.Enabled,
  		CacheTTL:     authn.Webhook.CacheTTL.Duration,
  		ClientCAFile: authn.X509.ClientCAFile,
  	}
  
  	if authn.Webhook.Enabled {
  		if client == nil {
  			return nil, errors.New("no client provided, cannot use webhook authentication")
  		}
  		authenticatorConfig.TokenAccessReviewClient = client
  	}
  
  	authenticator, _, err := authenticatorConfig.New()
  	return authenticator, err
  }
docs: // BuildAuthn creates an authenticator compatible with the kubelet's needs