Autenticação completa
Três semanas de login, de novo, não.
Login, cadastro, magic link, recuperação de senha, perfil e sessões multi-device — prontos, com componentes React. Organizações, membros e papéis já no painel. E um servidor MCP para administrar tudo isso conversando com o seu agente.
Experiência de quem integra
Integração que leva
UMA TARDE.
AuthProvider na raiz, Protect nas rotas privadas, SignIn/SignUp nas rotas de auth. Os hooks useAuth, useUser e useSessions dão o estado pronto para leitura.
- Proteção de rotas em 3 linhas
- Hooks para sessão, perfil e multi-device
- Componentes prontos com Mantine (opcional)
Cresce com o produto
Usuário sozinho hoje, organizações amanhã. Sem migração.
Comece com usuários individuais e ative organizações quando o produto pedir. Organizações, membros e papéis já fazem parte do modelo de dados e estão no painel hoje — o acesso a eles pelo SDK, com o papel dentro do token, é a entrega que está em desenvolvimento agora.
- Usuários individuais funcionam de imediato
- Organizações, membros e papéis no painel
- Isolamento por aplicação: a chave é (e-mail, applicationId)
- Acesso via SDK em desenvolvimento
A integração inteira
Não temos site de documentação.
Temos estes cinco passos — e eles são a integração inteira.
1 · Instalar
Um pacote, uma chave
bun add @ciromaciel/auth-react. A chave pública sai do painel e vai direto no provider, via VITE_AUTH_KEY. Nada de arquivo de configuração.
2 · Proteger
Rota privada em 3 linhas
AuthProvider na raiz, com a sua apiKey. Protect em volta do que é privado, com redirectTo. Quem não tem sessão vai para /signin — e é só isso.
3 · Telas prontas
Login e cadastro sem escrever formulário
SignIn, SignUp e UserProfile são componentes: você os põe nas rotas /signin, /signup e /perfil e acabou. Vêm com Mantine, já ligados à API. Ou use os hooks e construa a sua própria tela.
4 · Ler o estado
Hooks para sessão e perfil
useUser devolve o usuário, useAuth o isSignedIn, useSessions a lista de sessões ativas — com device, IP e a função de revogar. Estado pronto para leitura, sem store para montar.
5 · Backend
Verificação local, sem round-trip
Um authPlugin no Elysia, com a sua secretKey e os excludePaths públicos. Ele baixa a JWKS uma vez (cache de 1 h) e verifica o token no seu processo — operação em memória, não chamada de rede. Se a chave girar, busca a nova sozinho. Dentro do handler, user já está lá.
Suporte e depuração
O bug que só acontece
na conta de um usuário só.
Suporte
Ver o que o usuário vê
O bug que só acontece com os dados dele. Entre na conta pelo painel, veja a tela quebrada, saia. Sem pedir senha, sem pedir print, sem adivinhar.
Teto
15 minutos, e acaba sozinha
Não se renova. Se ninguém clicar em encerrar, ela expira igual — é a defesa que funciona quando alguém esquece a aba aberta.
Trilha
Quem entrou, em quem, por quê
Motivo obrigatório, IP e user-agent registrados. A trilha sobrevive à sessão e qualquer membro da organização pode ler: auditoria que só o autor lê não é auditoria.
Visível
A faixa não deixa esquecer
Quem está numa conta alheia vê uma barra fixa com o nome de quem está dentro e o tempo restante. O AuthProvider a renderiza sozinho.
Limite
Agente nenhum entra numa conta
Não existe ferramenta MCP de impersonação, e não vai existir. As sete tools do servidor administram; nenhuma assume identidade. Começar é um ato humano, com nome registrado.
Integrando com IA
Quem lê a documentação
é o seu agente. Por isso ela é um arquivo só.
Um comando
Cole isto no seu agente
Um arquivo, 42,4 KB, 1.044 linhas. SDK React, plugin Elysia, todos os endpoints, formato de erro e o blueprint de rotas. Claude Code, Cursor ou Copilot leem e integram. E ele lista também o que NÃO funciona — as três rotas que o SDK expõe e o servidor não implementa —, para o agente não gerar código morto.
curl https://myinfrastructure.click/products/auth/llms.txt # ou cole a URL direto no chat do seu agente # e peça: "integre este auth no meu app React"
Model Context Protocol
Seu painel virou uma
CONVERSA.
O Auth fala MCP na revisão 2026-07-28 — a que tornou o protocolo stateless. Conecte Claude, Cursor ou VS Code ao seu tenant e pergunte em português quantos usuários entraram, quem está com sessão aberta ou derrube o acesso de alguém agora.
- Servidor remoto: nada para instalar na sua máquina
- OAuth 2.1 com PKCE — sem colar token em arquivo de config
- Sete ferramentas, escopo derivado do seu papel
MCP · O Auth como servidor
Dois passos até o agente
administrar o seu tenant.
1 · Conectar e autorizar
Um endpoint, nenhum processo local
O servidor é remoto e roda no edge: não há pacote para instalar nem binário para manter atualizado. O cliente aponta para a URL, recebe 401, descobre o authorization server sozinho e abre a tela de consentimento — você vê exatamente quais permissões concede antes de aprovar.
# Claude Code claude mcp add --transport http \ infrastructure-auth \ https://auth.worker.myinfrastructure.click/mcp/<applicationId> # Claude Desktop / VS Code: a mesma URL # no campo "url" do mcpServers
2 · Perguntar
O painel, em linguagem natural
Sete ferramentas: aplicação, organizações, usuários, busca, estatísticas e sessões. Você descreve o resultado; o agente escolhe a ferramenta.
"quantos usuários novos o app Blogs teve esta semana?" → auth_get_statistics "o e-mail da Carla foi comprometido, derruba as sessões dela" → auth_search + auth_revoke_user_sessions "em que aplicação estou e quantos usuários ela tem?" → auth_get_application
Catálogo
Leitura ampla, escrita estreita
Seis leem, uma escreve. A de escrita (revogar sessões) exige owner ou admin e vem marcada como destrutiva — o cliente pede confirmação antes de executar.
Escopo por papel
O agente não vê o que você não pode fazer
Member recebe seis ferramentas; owner e admin, sete. Não é a UI que esconde — a ferramenta não existe naquela sessão.
MCP · O Auth como authorization server
E quando o servidor MCP
for o seu, não o nosso?
O problema
A spec exige OAuth 2.1 completo
PKCE, Protected Resource Metadata, discovery e validação de audiência. Semanas de trabalho de segurança para quem só queria expor três ferramentas.
A entrega
Você aponta. Nós somos o authorization server.
O Auth emite os access tokens do seu servidor MCP, com audiência ligada ao seu recurso e escopo derivado do papel do usuário na organização. Você valida com a mesma JWKS pública que já usa.
No seu servidor
Dois documentos e uma verificação
Publique o metadata apontando para o Auth, devolva 401 com WWW-Authenticate e valide a audiência. O consentimento inteiro acontece do nosso lado.
// 1. publique o metadata do recurso
app.get('/.well-known/oauth-protected-resource',
() => ({
resource: MEU_MCP,
authorization_servers: [AUTH_URL],
scopes_supported: ['auth:read', 'auth:write'],
})
)
// 2. valide assinatura E audiência
const { payload } = await jwtVerify(token, JWKS)
// sem esta linha, um token emitido para outro
// servidor valeria aqui — é o confused deputy
if (payload.aud !== MEU_MCP) return status(401)
return handleMcp(payload.sub, payload.scope)Comparativo
Seu produto cresce em usuários.
Sua conta de auth não deveria crescer junto.
Auth0 / Clerk
Players estabelecidos, preço por MAU
Multi-tenant
Add-on pago
Preço por MAU ativo
US$ por usuário
Self-host opcional
Raro ou caro
Verificação JWT no seu backend
Round-trip à API
Servidor MCP para agentes
Fora do produto
Lock-in de dados
Export limitado
Custo em escala
Cresce com usuários
+ complexidade que não é do seu produto
Auth
Autenticação completa — o preço não muda quando a sua base de usuários cresce. Sem cobrança por MAU.
- Preço fixo, independente de usuários ativos
- Entrar com Google, com as suas próprias credenciais
- Organizações, membros e papéis no painel
- SDK React + plugin Elysia para o backend
- Verificação JWT local via JWKS (cache 1h)
- Sessões auditáveis por device, IP e timestamp
- Servidor MCP remoto (spec 2026-07-28) incluído
- Authorization server OAuth 2.1 para o seu MCP
- Backend no edge (Cloudflare Workers)
A partir de
R$ 29,99
por mês, independente de quantos usuários ativos você tiver
Preço
3, 9 ou 99 aplicações
Comece pelo Starter. Suba quando precisar.
Todo plano traz o núcleo de autenticação inteiro. O que muda é quantas aplicações você mantém — e trocar de plano leva um clique no painel.
FAQ
Dúvidas que recebemos com frequência
Ficou uma dúvida de arquitetura?
Fala direto com engenharia. A gente ajuda a modelar papéis, migração de provedor ou custom claims.