Habilidades auth-implementation-patterns
🔐

auth-implementation-patterns

Seguro

Implementar Sistemas de Autenticação Seguros

Também disponível em: wshobson

Aprenda padrões de autenticação e autorização testados em batalha para criar controle de acesso seguro em seus aplicativos sem reinventar a roda.

Suporta: Claude Codex Code(CC)
🥉 72 Bronze
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "auth-implementation-patterns". Como implemento autenticação JWT no Express?

Resultado esperado:

Uma implementação completa de JWT inclui: 1) Gerar tokens usando jwt.sign() com segredos de variáveis de ambiente, 2) Criar middleware authenticate que verifica tokens Bearer, 3) Usar tokens de acesso de curta duração (15min) com tokens de refresh mais longos (7d), 4) Armazenar refresh tokens com hash no banco de dados. Veja Pattern 1 em implementation-playbook.md para código completo.

A utilizar "auth-implementation-patterns". Qual é a diferença entre auth baseada em sessão e baseada em token?

Resultado esperado:

Baseada em sessão: Servidor armazena estado, ID da sessão em cookie, simples mas requer sticky sessions. Baseada em token (JWT): Sem estado, claims auto-contidas, escala horizontalmente, mas não pode revogar tokens individuais facilmente. Escolha sessões para aplicativos tradicionais, JWT para APIs e microsserviços.

A utilizar "auth-implementation-patterns". Como implemento autorização baseada em função?

Resultado esperado:

Defina funções em um enum (USER, MODERATOR, ADMIN), crie um mapeamento de hierarquia de funções, construa middleware requireRole() que verifica a função do usuário contra funções permitidas, aplique middleware a rotas protegidas. Exemplo: app.delete('/users/:id', authenticate, requireRole('ADMIN'), handler)

Auditoria de Segurança

Seguro
v1 • 2/24/2026

Educational documentation skill containing authentication and authorization code patterns. All 67 static findings are false positives: backticks are markdown code fences, environment variable access demonstrates proper secret handling, and weak crypto mentions are in cautionary context. No actual security risks present.

2
Arquivos analisados
661
Linhas analisadas
0
achados
1
Total de auditorias
Nenhum problema de segurança encontrado
Auditado por: claude

Pontuação de qualidade

38
Arquitetura
100
Manutenibilidade
87
Conteúdo
30
Comunidade
100
Segurança
100
Conformidade com especificações

O Que Você Pode Construir

Criar autenticação JWT do zero

Implementar auth completa baseada em token com tokens de acesso, tokens de refresh e gerenciamento adequado de segredos

Adicionar login social OAuth2

Integrar autenticação OAuth2 do Google e GitHub em aplicativos existentes

Projetar modelo de autorização

Criar sistemas de controle de acesso RBAC ou baseados em permissão para recursos do aplicativo

Tente Estes Prompts

Configuração Básica de JWT
Mostre-me como implementar autenticação JWT em Node.js com Express, incluindo geração de token e middleware de verificação
Fluxo de Refresh Token
Crie um fluxo de refresh token que armazena refresh tokens com segurança em um banco de dados e emite novos tokens de acesso
Integração OAuth2
Implemente login OAuth2 do Google usando Passport.js com geração de token JWT após autenticação
Autorização RBAC
Projetar um sistema de controle de acesso baseado em função com funções admin, moderator e user, incluindo middleware para verificação de permissão

Melhores Práticas

  • Sempre use variáveis de ambiente para segredos (JWT_SECRET, SESSION_SECRET) nunca codifique credenciais diretamente
  • Use tokens de acesso de curta duração (15-30 minutos) com tokens de refresh separados para melhor segurança
  • Armazene refresh tokens com hash no banco de dados e implemente rotação de token no uso

Evitar

  • Armazenar JWT em localStorage expõe tokens a ataques XSS - use cookies httpOnly em vez disso
  • Não validar expiração do token permite que tokens expirados sejam usados indefinidamente
  • Verificações de autorização apenas no lado do cliente podem ser contornadas - sempre valide no servidor

Perguntas Frequentes

Quando devo usar autenticação baseada em sessão vs baseada em token?
Use sessões para aplicativos tradicionais renderizados no servidor onde você precisa de logout simples e proteção CSRF. Use tokens (JWT) para SPAs, aplicativos móveis e microsserviços onde você precisa de autenticação sem estado e requisições cross-domain.
Como armazeno segredos JWT com segurança?
Nunca codifique segredos no código-fonte. Use variáveis de ambiente (process.env.JWT_SECRET) e carregue-as de arquivos .env em tempo de execução. Certifique-se de que .env está no .gitignore e segredos são injetados de fontes seguras em produção.
Qual é a diferença entre autenticação e autorização?
Autenticação (AuthN) verifica QUEM é um usuário (login com credenciais). Autorização (AuthZ) determina o que um usuário pode FAZER (permissões, funções). Ambos são essenciais mas servem a propósitos diferentes no controle de acesso.
Como implemento refresh tokens com segurança?
Gere refresh tokens como UUIDs aleatórios, armazene versões com hash no banco de dados, defina expiração (7-30 dias), implemente rotação (emita novo refresh token a cada uso) e permita revogação para logout ou eventos de segurança.
Tokens JWT podem ser revogados?
JWTs são sem estado por design. Para revogar: use uma blocklist de tokens em Redis/banco de dados, implemente expiração curta para que tokens expirem naturalmente, ou use rotação de refresh token para invalidar pares de tokens antigos.
Qual é a melhor maneira de lidar com armazenamento de senhas?
Sempre faça hash de senhas usando bcrypt ou argon2 com fatores de trabalho altos (custo bcrypt 10-12). Nunca armazene senhas em texto simples. Use salt fornecido automaticamente pelo bcrypt. Verifique com bcrypt.compare().

Detalhes do Desenvolvedor

Estrutura de arquivos