MG-4 (servidor): Auth com perfil por gatilho, e duas garantias que o Firebase não dá
Perfil criado por gatilho do Auth, não pelo app: se dependesse do app, uma falha de rede logo depois do cadastro deixaria a pessoa sem nome no ranking. Conta sem displayName cai para o trecho antes do @ — gravar vazio deixaria uma linha de ranking que ninguém identifica. Sondei o Auth em vez de assumir, e o resultado muda o que falta fazer -🔴 O Auth DISTINGUE senha errada de e-mail inexistente (auth/wrong-password vs auth/user-not-found). Isso quebra AC-2-02, que existe para o login não virar oráculo de enumeração: com respostas diferentes dá para descobrir quem tem conta testando e-mails. A correção é configuração (email enumeration protection) e NÃO é verificável em emulador — o emulador não implementa. Virou a primeira coisa da lista de MG-8 e pergunta aberta no PRD. - O mínimo de senha do Auth é 6, não 8. O app valida 8 antes de chamar, mas quem falar direto com a API cria com 6. Fechar exige Identity Platform ou blocking function — upgrade de plano, decisão do dono. Registrado com o número real. - Rate limit não é verificável aqui: o emulador não aplica. AC-2-03/AC-2-04 passam a depender do comportamento em produção, para ser medido. Dois defeitos meus, nos testes - Teste que dependia de outro teste: MG-4-04 usava a conta de MG-4-01 e passava só com a suíte inteira, na ordem. Rodado isolado passava por engano — e isolado é justamente como se investiga falha. Virou auto-contido. - Asserção por mensagem em inglês (/already exists/ contra "already in use"). Trocada pelo código do erro: texto do fornecedor muda sem avisar, código não. FE-1 a FE-3 e BE-3 seguem abertas: trocar o login para o SDK mexe na camada de dados do app (assunto de MG-7) e o e-mail de recuperação exige o projeto real. Marcar agora seria dizer que o participante já entra pelo Firebase. Premissa registrada: AC-4 volta do cancelamento, porque o Auth dá recuperação de senha de graça. Se a decisão for o contrário, é texto de tela e estado de story. Co-Authored-By:Claude Opus 5 (1M context) <noreply@anthropic.com>
parent
dd4ed868
Please register or sign in to comment