  void createAsyncMockAuthsAndVerifier(const std::vector<std::string>& providers) {
    for (const auto& provider : providers) {
      auto mock_auth = std::make_unique<MockAuthenticator>();
      EXPECT_CALL(*mock_auth, doVerify(_, _, _, _, _))
          .WillOnce(Invoke([&, iss = provider](Http::HeaderMap&, Tracing::Span&,
                                               std::vector<JwtLocationConstPtr>*,
                                               SetPayloadCallback, AuthenticatorCallback callback) {
            callbacks_[iss] = std::move(callback);
          }));
      EXPECT_CALL(*mock_auth, onDestroy());
      mock_auths_[provider] = std::move(mock_auth);
    }
    createVerifier();
  }
  void createAsyncMockAuthsAndVerifier(const std::vector<std::string>& providers) {
    for (const auto& provider : providers) {
      auto mock_auth = std::make_unique<MockAuthenticator>();
      EXPECT_CALL(*mock_auth, doVerify(_, _, _, _, _))
          .WillOnce(Invoke([&, iss = provider](Http::HeaderMap&, Tracing::Span&,
                                               std::vector<JwtLocationConstPtr>*,
                                               SetPayloadCallback, AuthenticatorCallback callback) {
            callbacks_[iss] = std::move(callback);
          }));
      EXPECT_CALL(*mock_auth, onDestroy());
      mock_auths_[provider] = std::move(mock_auth);
    }
    createVerifier();
  }