VIBE IN PUBLIC_

TOTP em local: como um vibe coder mostra o código 2FA na tela

Em local, mostre o TOTP na tela. QR em base64, código inválido e GMT-3 até o 2FA aparecer no admin, do jeito que um vibe coder testa.

Em ambiente local, o TOTP tem que aparecer na tela. Pedir QR em base64, mandar a chave secreta no WhatsApp, ajustar o relógio para GMT-3 São Paulo e digitar o código do autenticador trava o login admin. Eu vi Emanuel Limeira fazer essa sequência numa live, e o fluxo só andou quando ele pediu, numa frase, que o código de autenticação de dois fatores saísse na página.

COMPARAÇÃO

QR, WhatsApp e relógio

Código inválido, QR sem scan, GMT-3

Prompt de 1 frase

Código de dois fatores na página

Quando o fuso entrou na conversa, ele mandou GMT-3 São Paulo e disse: "A tela vai continuar igual em produção, tá? Vou manter." O código na tela veio noutro prompt, e veio com teto: ambiente de desenvolvimento, ambiente local.

O QR em base64 e o código que ninguém tinha escaneado

O login admin travou no 2FA. Emanuel monta um gestor de licenças ainda em localhost. O primeiro pedido ao Codex foi o QR:

"Cria um Qcode e imagem. base 64 para gerar a autenticação de dois fatores."

O QR apareceu. Ele mandou a chave secreta no WhatsApp para cadastrar no autenticador. Digitou. A tela devolveu inválido.

"tá dando como código inválido, tá?"

Ele chegou a perguntar: "Será porque é que eu estou em ambiente local?" Depois chutou o horário e mandou alterar o timestamp para São Paulo, Brasil, GMT-3. Ainda não passou. Copiou um código e a verificação veio com "Código inspirado". A legenda da live escreveu "inspirado" no lugar de expirado. A frase seguinte mostra o que de fato tinha acontecido.

"Código inspirado, tá? Oh God, resete novamente porque eu não escaneiei o Qcode."

Ele resetou, gerou QR de novo e pediu "código atual para teste local". Ainda falhou: "Foi, não foi? Não foi." Copiou outra vez para ambiente local, confirmou e ativou. Só então passou: "Pronto, agora já fizemos aqui."

Com a live aberta ele gera o QR, manda a chave no WhatsApp e volta para a tela. Ou o código já expirou, ou o QR nunca entrou no app, como ele mesmo confessou no reset.

O prompt de 1 frase que o vibe coding pede em local

Depois de mais um login, Emanuel escreveu o pedido que deveria ter aberto a sessão.

"quando tiver em ambiente de desenvolvimento, ou seja, ambiente local, eu quero que o código apareça na tela em vez de só no aplicativo do de autenticação de dois fatores."

Esse vai-e-volta aparece no vibe coding quando o 2FA depende de um app que está no outro bolso: o QR, o relógio e o código caducam enquanto você ainda lê o prompt. A página de Verification você controla. Pedir o TOTP nela, só em local, corta o loop.

Ele pediu e os números saíram na Verification. Emanuel olhou e não elogiou.

"Tá muito noob esse negócio desses P aqui, desses números, né? Daqui tá muito feio. Mas, ó, já criou aqui."

Os números saíram feios e úteis. Na mesma sessão, voltar da área do duplo fator para o login ainda dava 404, e ele pediu para a tela não mostrar esse erro.

Os números feios da Verification ficam no localhost

Mostrar o TOTP na Verification foi o pedido de local. A tela de produção, Emanuel já tinha travado antes, no episódio do fuso: igual. Ele falou isso ainda no vai-e-volta do autenticador, antes do prompt do código na tela. Os números feios são o atalho de localhost. Quando a tela tiver que ser a do usuário, o campo volta a esperar o autenticador.

SÓ NO LOCALHOST

Os números feios da Verification são o atalho de localhost. Em produção a tela continua igual e o 2FA fica no app.

Você está logando no admin do próprio produto, no localhost, para ver se o fluxo fecha. O 2FA de produção continua no app. O que a Verification ganhou de números é só o localhost respondendo ao prompt.

O próximo 2FA que você testar começa na tela

Amanhã, no próximo login admin em localhost, peça o código na Verification antes do QR. Se a tela ainda disser inválido, olhe se o QR foi escaneado. Emanuel encadeou QR, código inválido e o Qcode sem scan, com a legenda escrevendo "Código inspirado" enquanto o app sequer tinha o Qcode. GMT-3 São Paulo veio depois, e pode até ser o fuso, mas só vale discutir relógio com um código vivo na tela.

O PRÓXIMO 2FA

  1. 01Peça o código na Verification antes do QR
  2. 02Se a tela disser inválido, olhe se o QR foi escaneado

A frase de uma linha resolve o TOTP em local. O vai-e-volta do QR e do autenticador, e o instante em que os números feios aparecem na Verification, estão na transmissão de 90 min em assistir à live.