code: func newLegacyServiceAccountAuthenticator(keyfiles []string, lookup bool, apiAudiences authenticator.Audiences, serviceAccountGetter serviceaccount.ServiceAccountTokenGetter) (authenticator.Token, error) {
  	allPublicKeys := []interface{}{}
  	for _, keyfile := range keyfiles {
  		publicKeys, err := keyutil.PublicKeysFromFile(keyfile)
  		if err != nil {
  			return nil, err
  		}
  		allPublicKeys = append(allPublicKeys, publicKeys...)
  	}
  
  	tokenAuthenticator := serviceaccount.JWTTokenAuthenticator(serviceaccount.LegacyIssuer, allPublicKeys, apiAudiences, serviceaccount.NewLegacyValidator(lookup, serviceAccountGetter))
  	return tokenAuthenticator, nil
  }
docs: // newLegacyServiceAccountAuthenticator returns an authenticator.Token or an error