
Toda autenticação caseira começa com um punhado de linhas. O problema aparece depois do lançamento, quando cada pequena decisão silenciosamente endurece no modelo que o produto inteiro passa a assumir como verdadeiro.
E-mail, senha, faz o hash, guarda, compara no login. Limpo e pronto.
Quem conta como usuário. A qual organização ele pertence. Qual sessão ainda é confiável. Como o acesso é revogado.
Trocar a página de login no papel significava reconstruir a fundação de identidade no código.
Ela faz login das pessoas por anos sem incidente. Aí uma mudança no negócio transforma o “suficiente” em “no caminho” da noite para o dia. Estas três chegam para quase todo produto que escala.

O primeiro grande contrato fecha e o procurement quer SSO pelo Entra ou Google Workspace deles. Depois SAML e OIDC, porque o próximo cliente usa outra coisa. A configuração de identidade de cada cliente é diferente, e quase nada do trabalho se reaproveita.

Dividida por organização, dividida por produto, muitas vezes herdada por aquisições. “Unificar identidade” soa como recurso; no código, significa redefinir o que conta como um usuário e uma organização.

Não são mais só pessoas num navegador. Agentes, servidores MCP e linhas de comando alegam agir por algum usuário. E a sua autenticação só sabe logar uma pessoa numa página.

A primeira versão é barata: alguns engenheiros, algumas semanas, no ar. Depois você a alimenta todo ano com o tempo de engenharia que pertencia ao seu produto principal.
Você nunca recebe uma fatura que diz “autenticação”.
O contexto crítico vive na cabeça de alguém, não na documentação.
Nenhum cliente paga um centavo a mais porque você escreveu seu próprio servidor OAuth.
A maioria das soluções maduras já cobre os recursos: SSO, MFA, organizações, login unificado, acesso de agentes. A diferença real é se você consegue sair. Não escape das suas próprias poucas milhares de linhas só para se prender nas de outra pessoa.
O Logto é open source, self-hostable e também oferecido como um Cloud gerenciado. Login, MFA, SSO e RBAC funcionam de imediato sobre OIDC padrão. A cobrança segue os tokens e, no dia em que você quiser sair, a porta continua aberta.