Problemas ao fazer login no Google com o Chrome sem cabeça / marionetista

Estou tentando automatizar certas tarefas para o trabalho. Temos um portal que exige que você faça login pelo Google. Criei uma instância do Puppeteer que navega para a página de autenticação do Google, digita meu email e senha e armazena os cookies para que eu possa navegar e manipular o portal.

Isso funciona perfeitamente no meu ambiente local, mas eu o implantei no Heroku e o Google adiciona um desafio de login. Depois de digitar a senha, recebo a página 'Verifique se você', que diz 'Este dispositivo não é reconhecido', solicita que eu conclua a autenticação 2-FA.

Sei que não consigo desativar o 2-FA, então qual seria a melhor maneira de contornar isso?

Como alternativa, existe uma maneira mais fácil de fazer login em um site protegido pela autenticação do Google e armazenar os cookies da sessão?

Aqui está o meu código de marionetista, qualquer ajuda seria muito apreciada:

async function getCookies() {
    const browser = await puppeteer.launch({ 
      args: [
        '--no-sandbox', 
        '--disable-setuid-sandbox', 
        '--disable-gpu'
      ] 
    })
    const page = await browser.newPage()
    await page.setUserAgent('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36')
    await page.goto(process.env.URL)
    await page.waitForSelector('#identifierId')
    await page.type('#identifierId', process.env.EMAIL, { delay: 5 })
    await page.click('#identifierNext')
    await page.waitForSelector('#password input[type="password"]', { visible: true });
    await page.type('#password input[type="password"]', process.env.PASS, { delay: 5 })
    await page.click('#passwordNext')
    await page.waitFor(3000)
    const cookies = await page.cookies()
    await browser.close()
    return cookies
  }

questionAnswers(4)

yourAnswerToTheQuestion