Repolode
supabase

supabase/auth

Servidor de autenticação e gerenciamento de usuários escrito em Go que emite JWTs e dá suporte ao Supabase Auth.

Alternativa open source a:Auth0Firebase Authentication

Estrelas
2,594
Forks
805
Issues abertas
399
Último commit
ontem

O que é?

Auth é um servidor de gerenciamento de usuários e autenticação escrito em Go. Ele gerencia o cadastro e o login de usuários, emite tokens JWT de acesso e de atualização e fornece a camada de identidade usada pelo Supabase em recursos como Row Level Security com PostgREST. Os métodos de login compatíveis incluem e-mail e senha, magic links, OTP por número de telefone e provedores OAuth externos, como Google, Apple, GitHub e Discord.

O servidor é configurado por variáveis de ambiente com o prefixo GOTRUE_ e funciona com PostgreSQL, aplicando as migrations automaticamente na inicialização. Ele inclui endpoints administrativos para gerenciar usuários e gerar links de ação, templates de e-mail para confirmação, recuperação de conta e convites, verificações CAPTCHA opcionais, rotação de refresh tokens com detecção de reutilização e traces e métricas do OpenTelemetry. O projeto é um fork da base de código GoTrue da Netlify e divergiu dela em relação aos recursos.

O projeto foi feito para funcionar como um serviço, não como uma biblioteca Go. Os mantenedores recomendam executá-lo atrás de um proxy compatível com TLS e não modificar o schema que ele gerencia.

Recursos principais

  • 01Emite tokens JWT de acesso e de atualização, com rotação de refresh tokens e detecção de reutilização
  • 02Oferece suporte a login com e-mail e senha, magic link, OTP por telefone e login anônimo
  • 03Integra-se a vários provedores OAuth, incluindo Google, Apple, GitHub e Discord
  • 04Inclui APIs administrativas para criar, atualizar e banir usuários, além de gerar links de ação
  • 05Envia templates de e-mail personalizáveis para confirmação, recuperação de conta, convites e notificações
  • 06Exporta traces do OpenTelemetry e métricas do Prometheus ou do OpenTelemetry

Casos de uso

  • Adicionar contas de usuário e login social a um projeto Supabase ou a uma stack Supabase auto-hospedada
  • Emitir JWTs usados por uma API baseada em PostgreSQL para controle de acesso em nível de linha
  • Executar um serviço de autenticação auto-hospedado com login por e-mail, telefone e OAuth

Início rápido

  1. 1

    Inicie o banco de dados Postgres local em um contêiner

    docker-compose -f docker-compose-dev.yml up postgres
  2. 2

    Compile o binário auth

    make build
  3. 3

    Execute o binário auth

    ./auth

Antes de usar

  • Para executá-lo em produção, é necessário ter um processo que aplique rapidamente as atualizações de segurança. Além disso, o README recomenda usar o Supabase Auth hospedado.
  • Não foi desenvolvido para ser usado como uma biblioteca Go, e a compatibilidade da API Go não é garantida.
  • Alguns recursos herdados do Netlify, como multitenancy e superadministrador, podem ser removidos sem aviso prévio.

Em coleções

Tópicos

Perguntas frequentes

O que é auth?
Servidor de autenticação e gerenciamento de usuários escrito em Go que emite JWTs e dá suporte ao Supabase Auth. Auth é um servidor de gerenciamento de usuários e autenticação escrito em Go. Ele gerencia o cadastro e o login de usuários, emite tokens JWT de acesso e de atualização e fornece a camada de identidade usada pelo Supabase em recursos como Row Level Security com PostgREST. Os métodos de login compatíveis incluem e-mail e senha, magic links, OTP por número de telefone e provedores OAuth externos, como Google, Apple, GitHub e Discord.
auth é gratuito? Qual é a licença?
auth é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
auth ainda é mantido?
Manutenção ativa. O último commit de auth foi em 6 de nov. de 2026.
Para que posso usar auth?
Adicionar contas de usuário e login social a um projeto Supabase ou a uma stack Supabase auto-hospedada Emitir JWTs usados por uma API baseada em PostgreSQL para controle de acesso em nível de linha Executar um serviço de autenticação auto-hospedado com login por e-mail, telefone e OAuth
Como instalar auth?
Inicie o banco de dados Postgres local em um contêiner: docker-compose -f docker-compose-dev.yml up postgres Compile o binário auth: make build Execute o binário auth: ./auth
Onde consigo auth?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/supabase/auth

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados