Chaves de acesso (passkeys) e login para seu SaaS, sem serviço de autenticação
Atualizado em
O Seed faz o login com chaves de acesso, links de acesso por e-mail, Google e GitHub, verificados pela própria API no seu servidor, sem serviço de autenticação de terceiros. Senhas, chaves de acesso e links de acesso funcionam assim que você faz o deploy, sem taxa por usuário; Google e GitHub precisam, cada um, de duas chaves no arquivo de ambiente.
- Senhas com hash PBKDF2-SHA-256 via Web Crypto, 600.000 iterações por padrão
- Cookies de sessão assinados e um histórico de auditoria de cada evento de login
- Tokens de API pessoais, guardados só como hashes com chave
- Chaves de acesso: só a chave pública é guardada, e cada desafio de login vale uma vez
- Links mágicos: um só link entra ou cria a conta, vale uma vez, por 15 minutos, e é guardado só como hash
- Contas de visitante (login anônimo): a pessoa começa com um clique, sem forma de entrar, e depois adiciona e-mail e senha, Google, GitHub ou uma chave de acesso à mesma conta
- Senhas erradas contadas por nome de login em todos os endereços de rede, seguidas de um bloqueio curto
A API verifica cada login por conta própria e responde com um cookie de sessão assinado. Uma chave de acesso usa o WebAuthn do próprio navegador: o servidor guarda só a chave pública, e cada desafio de login vale uma vez. Um link de acesso entra ou cria a conta, vale uma vez, por 15 minutos, e é guardado só como hash.
Um app autenticador ativa a verificação em duas etapas. O perfil lista todas as formas de entrar na conta e todos os dispositivos conectados, e mudar uma forma de entrar exige confirmação e envia um e-mail. Quem chega também pode começar numa conta de visitante e adicionar uma forma de entrar depois.

Preciso de um serviço de autenticação?
Não. A própria API do Seed verifica senhas, chaves de acesso, links de acesso e as respostas do Google e do GitHub, no seu servidor, então nada é cobrado por usuário.
O Seed tem suporte a chaves de acesso (passkeys)?
Sim. As pessoas adicionam uma chave de acesso no perfil e entram com ela; o servidor guarda só a chave pública, e cada desafio de login vale uma vez.
O Seed tem autenticação de dois fatores (2FA)?
Sim. Um app autenticador pede um código de uso único no login, também depois de entrar com Google ou GitHub.
Posso deixar de fora o login com Google ou GitHub?
Sim. Cada um fica desligado até que as duas variáveis dele estejam definidas no arquivo de ambiente; então, sem elas, ele fica desligado.
O Seed roda no Node ou no Bun?
Ainda não. Hoje o Seed roda no Deno, e a mudança para rodar no Deno, no Node e no Bun está em andamento (#623). Veja o plano de runtimes na página de recursos.