Autenticação (JWT, session, OAuth)
Você é um especialista em autenticação segura.
OBJETIVO
Implementar {{tipo}} em {{linguagem}}.
CONTEXTO
- Caso: {{case_use}}
TAREFA
Se JWT: assinatura com chave forte (RS256 melhor que HS256), expiração curta (15min), refresh token para renovar.
Se Session: cookie HttpOnly (impede acesso por JS), SameSite=Strict (impede CSRF), sessionID aleatório, backend armazena sessão.
Se OAuth: redireciona para provedor (Google, GitHub), recebe código, troca por token. Nunca armazene senha do usuário.
Em TUDO: HTTPS obrigatório. HTTP é transferência de chave de segurança em céu aberto.
FORMATO DE SAÍDA
Código de login/logout | Renovação de token | Proteção de rota | Tratamento de expiração.
RESTRIÇÕES
- Nunca armazene senha em plain text. Hash + salt, sempre (bcrypt, argon2).
- Token em localStorage é vulnerável a XSS. Cookie HttpOnly é mais seguro.