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
- 01Peça o código na Verification antes do QR
- 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.