identidade para o produto que você vende
Seus clientes não são seis cadastros.
O UserKit dá ao seu produto login, verificação, dois fatores e sessão — e guarda tudo numa ficha por pessoa, a mesma que cobrança, suporte e métricas vão ler quando chegarem.
grátis até 50.000 contatos ativos por mês · ambiente de teste incluso
Ana Rocha
ana@studiolume.com.br
- id
- ct_8f2a1c6b
- entrou com
- dois fatores
- ativo
- primeira visita
- 12 mar 2026
- Autenticação
- Cobrança
- Suporte
- Métricas
- Onboarding
- NPS
traço cheio: no ar hoje · pontilhado: no roteiro
no ar hoje
O que já está de pé
A camada de identidade inteira, com as decisões difíceis já tomadas — as que só aparecem depois que alguém tenta contornar.
modo
Hospedado ou federado
O UserKit cuida da conta do seu cliente, ou a sua autenticação continua sendo a fonte da verdade e o
bootidentifica a pessoa. A escolha é por ambiente — dá para avaliar um sem mexer no outro.2fa
Dois fatores onde a sessão nasce
Senha, magic link e login social exigem o segundo fator no mesmo ponto. Um fator que “continuar com o Google” contorna é um checkbox, não um controle.
oauth
Login social com o seu nome na tela
O app do Google é da sua organização, então a tela de consentimento leva a sua marca. Ligar o provedor no painel acende o botão sem ninguém fazer deploy.
ambientes
Live e test desde o primeiro dia
Toda organização nasce com os dois, e a chave carrega o ambiente:
uk_sk_live_…euk_sk_test_…. Dado de teste nunca encosta no número que você olha.jwt
Cinco minutos, verificado por você
O seu backend confere a sessão contra o JWKS do ambiente, sozinho. Nenhuma chamada ao UserKit no caminho do request.
senhas
Senha vazada é recusada
Toda senha passa por uma checagem contra um corpus público de vazamentos. Só os cinco primeiros caracteres do SHA-1 saem daqui, e a checagem falha aberta.
integração
Como entra no seu produto
Três passos, nesta ordem. Os pacotes estão em beta fechado; a conta já dá acesso ao painel e à API.
- 01
Instale o pacote
Um pacote, sem dependências. Existe o equivalente sem React, e um para quem quer o token num cookie httpOnly no próprio domínio.
terminalnpm install @userkit/react - 02
Envolva o seu app
Os guardas não renderizam enquanto a sessão está sendo restaurada — é por isso que existe um terceiro estado, e por isso o botão de entrar não pisca a cada recarga.
app.tsximport { UserKitProvider, SignedIn, SignedOut, SignIn, } from "@userkit/react"; export default function App() { return ( <UserKitProvider publishableKey="uk_pk_live_…"> <SignedOut><SignIn /></SignedOut> <SignedIn><Painel /></SignedIn> </UserKitProvider> ); } - 03
Confira no seu backend
O JWT vale cinco minutos e é assinado em ES256 por ambiente. O SDK renova 30 segundos antes de expirar, então pedir o token a cada request está correto.
api/rota.tsimport { createRemoteJWKSet, jwtVerify } from "jose"; const jwks = createRemoteJWKSet( new URL("https://api.userkit.dev/v1/jwks/uk_pk_live_…"), ); const { payload } = await jwtVerify(token, jwks); payload.sub; // o id do contato
preço
Grátis até 50.000 contatos ativos por mês.
O teto é alto de propósito. Você paga quando já estiver sendo pago.
- contato ativo
- Quem teve uma sessão autenticada no mês. Visitante anônimo não conta e ambiente de teste não conta — a exclusão está na consulta, não na boa vontade de quem escreve a próxima.
- passar do teto
- Avisa em 80% e em 100%, e para por aí. Nenhum caminho de login lê o medidor: estourar o limite nunca deixa o seu cliente do lado de fora.
Comece pelo ambiente de teste.
A conta nasce com os dois ambientes e as chaves de cada um. Nada do que você fizer em teste aparece no que é real.