Sistema de autenticação completo com JWT, refresh tokens e RBAC
Implementação segura de autenticação e autorização com tokens rotativos e controle de acesso baseado em roles.
Objetivo do Prompt
Construir um sistema de autenticação e autorização robusto que proteja a API contra ataques comuns e implemente controle granular de permissões.
Exemplo Real de Uso
A SaaS goianiense GestãoPro precisa de um sistema de auth que suporte: login com email/senha, OAuth Google, convite de membros para workspace, 4 roles diferentes (owner, admin, editor, viewer), e sessões em múltiplos dispositivos com revogação individual.
Prompt
Implemente um sistema de autenticação e autorização completo para [NOME DO PROJETO], construído com [NODE.JS/PYTHON] e [FRAMEWORK: NestJS/Fastify/FastAPI/Django].
**Requisitos:**
- Métodos de login: [EMAIL+SENHA, GOOGLE OAUTH, MAGIC LINK]
- Roles: [LISTA DE ROLES com permissões]
- Multi-tenant: [SIM/NÃO] — cada workspace tem seus membros
- Sessões simultâneas: [SIM/NÃO] — múltiplos dispositivos
**1) Fluxo de Autenticação JWT:**
- Access token: duração de [15 minutos], payload mínimo (userId, role, tenantId)
- Refresh token: duração de [7 dias], rotação a cada uso (RTR)
- Token storage: httpOnly cookies (não localStorage)
- Fluxo de renovação silenciosa (interceptor no frontend)
- Blacklist de refresh tokens revogados (Redis)
**2) Registro e Onboarding:**
- Signup com validação de email (token de confirmação)
- Verificação de força de senha (zxcvbn)
- Rate limiting em endpoints de auth (5 tentativas/15min)
- Convite de membros por email com token temporário
**3) OAuth 2.0 (Google):**
- Fluxo Authorization Code com PKCE
- Vinculação de conta OAuth com conta existente
- Primeiro login: criar conta automaticamente
- Scopes mínimos necessários
**4) RBAC (Role-Based Access Control):**
- Tabela de permissões: `role → resource → action (create/read/update/delete)`
- Middleware de autorização reutilizável
- Guard/decorator por endpoint: `@Roles('admin', 'editor')`
- Permissões no nível de recurso (ex: só edita seus próprios posts)
- Resposta 403 com mensagem útil
**5) Segurança:**
- Proteção contra CSRF (SameSite cookies + token)
- Brute force protection (progressive delays)
- Account lockout após [NÚMERO] tentativas
- Auditoria de login (IP, dispositivo, geolocalização)
- Logout de todos os dispositivos
- Password reset seguro (token único, expira em 1h)
**6) Código Completo:**
- Models/schemas do banco de dados
- Middleware de autenticação e autorização
- Controllers/routes de auth (register, login, refresh, logout, reset-password)
- Testes unitários e de integração para cada fluxo
Use [BCRYPT/ARGON2] para hashing de senhas. Considere conformidade com LGPD.Como usar este prompt
- 1Cole o prompt diretamente no ChatGPT, Claude, Gemini ou qualquer assistente de IA.
- 2Personalize os campos entre colchetes [assim] com suas informações específicas.
- 3Para melhores resultados, forneça contexto adicional sobre seu caso de uso.
- 4Combine múltiplos prompts em uma conversa para resultados mais completos.
- 5Salve os prompts que mais usa para acesso rápido no futuro.
Prompts relacionados
Ver todosDesign de API REST com versionamento e documentação OpenAPI
Projeta uma API REST robusta com padrões de naming, versionamento, paginação e documentação Swagger.
Otimização de queries PostgreSQL e estratégia de indexação
Diagnóstico de performance do banco de dados com análise de queries lentas e plano de indexação.
Migração de monolito para microsserviços com event-driven architecture
Estratégia de decomposição de um monolito Node.js em microsserviços com comunicação assíncrona.
Estratégia de caching multi-camada com Redis e CDN
Implementação de cache em múltiplas camadas para reduzir latência e custos de infraestrutura.
Explore outras categorias de prompts
Assine o AulasDeIA para desbloquear
Acesse 10.000+ prompts prontos para usar em qualquer profissão, além de todos os cursos da plataforma.
Cancele quando quiser. Sem multas.
