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.

auth:read
auth:write

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

Preço fixo

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.