code: func (authHandler *unionAuthTokenHandler) AuthenticateToken(ctx context.Context, token string) (*authenticator.Response, bool, error) {
  	var errlist []error
  	for _, currAuthRequestHandler := range authHandler.Handlers {
  		info, ok, err := currAuthRequestHandler.AuthenticateToken(ctx, token)
  		if err != nil {
  			if authHandler.FailOnError {
  				return info, ok, err
  			}
  			errlist = append(errlist, err)
  			continue
  		}
  
  		if ok {
  			return info, ok, err
  		}
  	}
  
  	return nil, false, utilerrors.NewAggregate(errlist)
  }
docs: // AuthenticateToken authenticates the token using a chain of authenticator.Token objects.