AvançadoBackendAberto

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.

autenticaçãoJWTRBACsegurançaOAuth

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

  1. 1Cole o prompt diretamente no ChatGPT, Claude, Gemini ou qualquer assistente de IA.
  2. 2Personalize os campos entre colchetes [assim] com suas informações específicas.
  3. 3Para melhores resultados, forneça contexto adicional sobre seu caso de uso.
  4. 4Combine múltiplos prompts em uma conversa para resultados mais completos.
  5. 5Salve os prompts que mais usa para acesso rápido no futuro.

Prompts relacionados

Ver todos

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.

Assinar por R$ 49,90/mês

Cancele quando quiser. Sem multas.