~/h0wzy/work/authsys LEIAME.mdworkcvprivacy-policyen

authsys

esqueleto de estudo estudo

2026-08-032026-08-08 · 6 commits

o_problema

Aprender Go. Não é produto: o jeito mais rápido de separar o que é a linguagem do que é o problema é reescrever um domínio que você já entende, então peguei o trabalho de auth que eu já tinha levado à produção em .NET no Telas Paraná.

o_que_faz

  • O layout padrão da comunidade Go com separação limpa em camadas (handler, service, repository, model) mais pacotes de DTO, JWT, resposta e configuração, e injeção de dependência manual sem container.
  • O model de usuário embute uma estrutura de conta com o vocabulário de segurança: estado online, último login e logout, contagem de tentativas falhas, expiração do bloqueio e flag de conta desabilitada. A estrutura para lockout e conta desabilitada existe no schema.
  • O campo de senha é marcado de forma que nunca pode sair numa resposta.
  • Três rotas: criar usuário, login, logout.

stack

backend

Go 1.25 · Gin · GORM · PostgreSQL 16 · JWT

como_foi_construido

Seis commits em cinco dias, lendo como o que é: um exercício de linguagem contra um domínio familiar, não uma tentativa de serviço entregável.

O valor está na comparação. Tendo construído e endurecido exatamente esse domínio em .NET (Argon2id, rotação de refresh token com detecção de reuso, mitigação de timing attack), reescrever o esqueleto em Go isola a linguagem do problema.

limitacoes_conhecidas

  • Isto é um esqueleto, não um sistema. Dizer isso com todas as letras é o ponto da entrada.
  • O arquivo de middleware de autenticação contém apenas a declaração de pacote. O middleware não existe, e nenhuma rota é protegida.
  • O Makefile está vazio.
  • Não há testes.
  • Os campos de lockout e conta desabilitada existem no model, mas nada os lê ou escreve ainda: o schema antecipa um comportamento que não está implementado.

tempo de código rastreado

20 hrs 42 mins Fonte: WakaTime · rastreado desde 2026-03-17 até agora

voltar para todos os trabalhos