Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
auth — Uma API baseada em JWT para gerenciar usuários e emitir tokens JWT | Kitploit
Ferramentas/GitHubGitHub/supabase/auth
Autenticação e AutorizaçãoGerenciamento de IdentidadesGerenciamento de Identidade e Acesso (IAM)AutenticaçãoTop em Autenticação nº10Top em Autenticação e Autorização nº19Top em Gerenciamento de Identidade e Acesso (IAM) nº19Top em Gerenciamento de Identidades nº11
2.6k79785há 6 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHubsupabase/auth

auth

Uma API baseada em JWT para gerenciar usuários e emitir tokens JWT

Ver RepositórioSite
# Auth - Autenticação e Gerenciamento de Usuários do Supabase

[![Coverage Status](https://coveralls.io/repos/github/supabase/auth/badge.svg?branch=master)](https://coveralls.io/github/supabase/auth?branch=master)

Auth é um servidor de gerenciamento de usuários e autenticação escrito em Go que alimenta os recursos do [Supabase](https://supabase.com), tais como:

- Emissão de JWTs
- Segurança em Nível de Linha com PostgREST
- Gerenciamento de usuários
- Entrar com e-mail, senha, link mágico, número de telefone
- Entrar com provedores externos (Google, Apple, Facebook, Discord, ...)

Ele é originalmente baseado no excelente
[código-fonte do GoTrue da Netlify](https://github.com/netlify/gotrue), no entanto, ambos divergiram significativamente em recursos e capacidades.

Se você deseja contribuir com o projeto, consulte o [guia de contribuição](https://github.com/supabase/auth/blob/master/CONTRIBUTING.md).

## Índice

- [Início Rápido](#quick-start)
- [Executando em Produção](#running-in-production)
- [Configuração](#configuration)
- [Endpoints](#endpoints)

## Início Rápido

Crie um arquivo `.env` para armazenar suas próprias variáveis de ambiente personalizadas. Consulte [`example.env`](https://github.com/supabase/auth/blob/master/example.env)

1. Inicie o banco de dados Postgres local em um contêiner Postgres: `docker-compose -f docker-compose-dev.yml up postgres`
2. Compile o binário auth: `make build` . Você deve ver uma saída como esta:```bash
go build -ldflags "-X github.com/supabase/auth/cmd.Version=`git rev-parse HEAD`"
GOOS=linux GOARCH=arm64 go build -ldflags "-X github.com/supabase/auth/cmd.Version=`git rev-parse HEAD`" -o gotrue-arm64
```
3. Execute o binário auth: `./auth`

### Se você tiver o Docker instalado

Crie um arquivo `.env.docker` para armazenar suas próprias variáveis de ambiente personalizadas. Veja [`example.docker.env`](https://github.com/supabase/auth/blob/master/example.docker.env)

1. `make build`
2. `make dev`
3. `docker ps` deve mostrar dois contêineres Docker (`auth-auth-1` e `auth-postgres-1`)
4. É isso! Visite o [endpoint de verificação de saúde](http://localhost:9999/health) para confirmar que o auth está em execução.

## Executando em produção

Executar um servidor de autenticação em produção não é uma tarefa fácil. Nós
recomendamos usar o [Supabase Auth](https://supabase.com/auth), que recebe
atualizações regulares de segurança.

Caso contrário, certifique-se de configurar um processo para atualizar prontamente para a
versão mais recente. Você pode fazer isso acompanhando este repositório, especificamente as
seções [Releases](https://github.com/supabase/auth/releases) e [Security
Advisories](https://github.com/supabase/auth/security/advisories).

### Compatibilidade com versões anteriores

Auth usa o esquema de [Versionamento Semântico](https://semver.org). Aqui estão algumas
esclarecimentos adicionais sobre as garantias de compatibilidade com versões anteriores:

**Compatibilidade com a API Go**

Auth não foi projetado para ser usado como uma biblioteca Go. Não há garantias de
compatibilidade retroativa da API quando usado dessa forma, independentemente do
número da versão que mudar.

**Patch**

Alterações na versão de patch garantem compatibilidade com versões anteriores com:

- Objetos de banco de dados (tabelas, colunas, índices, funções).
- API REST
- Estrutura do JWT
- Configuração

Exemplos garantidos:

- Uma coluna não mudará seu tipo.
- Uma tabela não mudará sua chave primária.
- Um índice não será removido.
- Uma restrição de unicidade não será removida.
- Uma API REST não será removida.
- Os parâmetros das APIs REST funcionarão de forma equivalente a antes (ou melhor, se um bug
  tiver sido corrigido).
- A configuração não mudará.

Exemplos não garantidos:

- Uma tabela pode adicionar novas colunas.
- As colunas de uma tabela podem ser reordenadas.
- Restrições não únicas podem ser removidas (verificações de nível de banco de dados, valores nulos, valores
  padrão).
- O JWT pode adicionar novas propriedades.

**Minor**

Alterações na versão minor garantem compatibilidade com versões anteriores com:

- API REST
- Estrutura do JWT
- Configuração

Exceções a essas garantias só serão feitas quando problemas graves de segurança
forem encontrados e não puderem ser remediados de outra forma.

Exemplos garantidos:

- APIs existentes podem ser descontinuadas, mas continuarão funcionando pelas próximas
  versões minor.
- Alterações de configuração podem ser descontinuadas, mas continuarão funcionando pelas
  próximas versões minor.
- JWTs já emitidos serão aceitos, mas novos JWTs podem ter uma estrutura diferente
  (mas geralmente semelhante).

Exemplos não garantidos:

- Remoção de campos do JWT após um aviso de descontinuação.
- Remoção de certas APIs após um aviso de descontinuação.
- Remoção do login com provedores externos, após um aviso de descontinuação.
- Exclusão, truncamento, alterações significativas de esquema em tabelas, índices, visões,
  funções.

Nosso objetivo é fornecer um aviso de descontinuação nos logs de execução por pelo menos duas
versões principais ou duas semanas se várias versões forem lançadas. A compatibilidade será
garantida enquanto o aviso estiver ativo.

**Major**

Alterações na versão major não garantem nenhuma compatibilidade com
as versões anteriores.

### Recursos herdados

Certos recursos herdados da base de código do Netlify não são suportados pelo
Supabase e podem ser removidos sem aviso prévio no futuro. Esta é uma
lista abrangente desses recursos:

1. Multi-tenência por meio da tabela `instances`, ou seja, `GOTRUE_MULTI_INSTANCE_MODE`
   parâmetro de configuração.
2. Usuário do sistema (usuário UUID zero).
3. Super administrador por meio da coluna `is_super_admin`.
4. Informações de grupo em JWTs por meio de `GOTRUE_JWT_ADMIN_GROUP_NAME` e outros
   campos de configuração.
5. Assinatura de JWT. O Supabase Auth suporta chaves assimétricas (RS256 por padrão;
   ECC/Ed25519 opcional). HS256 ainda é suportado para compatibilidade, mas
   a migração para chaves assimétricas é recomendada para validação e rotação
   mais fáceis. Futuras descontinuações serão anunciadas no changelog. Consulte as
   [Chaves de assinatura de JWT](https://supabase.com/docs/guides/auth/signing-keys) e
   o [guia de JWTs](https://supabase.com/docs/guides/auth/jwts) para obter detalhes.

Observe que esta não é uma lista exaustiva e ela pode mudar.

### Boas práticas ao fazer self-hosting

Estas são algumas boas práticas a seguir ao fazer self-hosting para garantir a
retrocompatibilidade com o Auth:

1. Não modifique o esquema gerenciado pelo Auth. Você pode ver todas as
   migrações no diretório `migrations`.
2. Não confie no esquema e na estrutura dos dados no banco de dados. Use sempre
   as APIs do Auth e JWTs para inferir informações sobre os usuários.
3. Execute sempre o Auth atrás de um proxy compatível com TLS, como um balanceador de carga, CDN,
   nginx ou outro software semelhante.

## Configuração

Você pode configurar o Auth usando um arquivo de configuração chamado `.env`,
variáveis de ambiente ou uma combinação de ambos. As variáveis de ambiente são prefixadas com `GOTRUE_` e sempre terão precedência sobre os valores fornecidos via arquivo.

### Nível superior```properties
GOTRUE_SITE_URL=https://example.netlify.com/
```
`SITE_URL` - `string` **obrigatório**

A URL base onde o seu site está localizado. Atualmente usada em combinação com outras configurações para construir URLs usadas em emails. Qualquer URI que compartilhe um host com `SITE_URL` é um valor permitido para os parâmetros `redirect_to` (consulte `/authorize` etc.).

`URI_ALLOW_LIST` - `string`

Uma lista separada por vírgulas de URIs (por exemplo, `"https://foo.example.com,https://*.foo.example.com,https://bar.example.com"`) que são permitidas como destinos `redirect_to` válidos. O padrão é []. Suporta correspondência curinga por meio de globbing. Por exemplo, `https://*.foo.example.com` permitirá que `https://a.foo.example.com` e `https://b.foo.example.com` sejam aceitas. O globbing também é suportado em subdomínios. Por exemplo, `https://foo.example.com/*` permitirá que `https://foo.example.com/page1` e `https://foo.example.com/page2` sejam aceitas.

Para padrões glob mais comuns, consulte o [seguinte link](https://pkg.go.dev/github.com/gobwas/glob#Compile).

`OPERATOR_TOKEN` - `string` _somente no modo multi-instância_

O segredo compartilhado com um operador (geralmente Netlify) para este microsserviço. Usado para verificar se as solicitações foram encaminhadas por meio do operador e
se os valores do payload podem ser confiáveis.

`DISABLE_SIGNUP` - `bool`

Quando o cadastro está desabilitado, a única maneira de criar novos usuários é por meio de convites. O padrão é `false`, todos os cadastros habilitados.

`GOTRUE_EXTERNAL_EMAIL_ENABLED` - `bool`

Use isto para desabilitar cadastros por email (os usuários ainda podem usar provedores OAuth externos para se cadastrar / entrar)

`GOTRUE_EXTERNAL_PHONE_ENABLED` - `bool`

Use isto para desabilitar cadastros por telefone (os usuários ainda podem usar provedores OAuth externos para se cadastrar / entrar)

`GOTRUE_RATE_LIMIT_HEADER` - `string`

Cabeçalho no qual aplicar limite de taxa ao endpoint `/token`. Espera-se que este cabeçalho seja definido por um proxy upstream confiável (como Kong ou Envoy). Cabeçalhos como `x-forwarded-for` podem ser falsificados e não são confiáveis para limitação de taxa quando fornecidos diretamente pelo cliente.

`GOTRUE_RATE_LIMIT_EMAIL_SENT` - `string`

Limite a taxa de envio de emails por hora nos seguintes endpoints: `/signup`, `/invite`, `/magiclink`, `/recover`, `/otp`, & `/user`.

`GOTRUE_PASSWORD_MIN_LENGTH` - `int`

Tamanho mínimo da senha, o padrão é 6.

`GOTRUE_PASSWORD_REQUIRED_CHARACTERS` - uma string de conjuntos de caracteres separados por `:`. Uma senha deve conter pelo menos um caractere de cada conjunto para ser aceita. Para usar o caractere `:`, escape-o com `\`.

`GOTRUE_SECURITY_REFRESH_TOKEN_ROTATION_ENABLED` - `bool`

Se a rotação do refresh token estiver habilitada, a autenticação detectará automaticamente tentativas maliciosas de reutilizar um refresh token revogado. Quando uma tentativa maliciosa é detectada, o GoTrue revoga imediatamente todos os tokens que descendem do token ofensor.

`GOTRUE_SECURITY_REFRESH_TOKEN_REUSE_INTERVAL` - `string`

Esta configuração só é aplicável se `GOTRUE_SECURITY_REFRESH_TOKEN_ROTATION_ENABLED` estiver habilitada. O intervalo de reutilização de um refresh token permite trocar o refresh token várias vezes durante o intervalo para suportar problemas de concorrência ou offline. Durante o intervalo de reutilização, a autenticação não considerará o uso de um token revogado como uma tentativa maliciosa e simplesmente retornará o refresh token filho.

Apenas o token revogado anterior pode ser reutilizado. Usar um refresh token antigo muito antes do refresh token válido atual acionará a detecção de reutilização.

### API```properties
GOTRUE_API_HOST=localhost
PORT=9999
API_EXTERNAL_URL=http://localhost:9999
```
`API_HOST` - `string`

Hostname para escutar.

`PORT` (sem prefixo) / `API_PORT` - `number`

Número da porta para escutar. O padrão é `8081`.

`API_ENDPOINT` - `string` _Somente no modo multi-instância_

Controla em qual endpoint a Netlify pode acessar esta API.

`API_EXTERNAL_URL` - `string` **obrigatório**

A URL na qual o GoTrue pode ser acessado.

`REQUEST_ID_HEADER` - `string`

Se desejar herdar um ID de requisição da solicitação de entrada, especifique o nome neste valor.

### Banco de dados```properties
GOTRUE_DB_DRIVER=postgres
DATABASE_URL=root@localhost/auth
```
`DB_DRIVER` - `string` **obrigatório**

Escolhe qual dialeto de banco de dados você deseja. Deve ser `postgres`.

`DATABASE_URL` (sem prefixo) / `DB_DATABASE_URL` - `string` **obrigatório**

String de conexão para o banco de dados.

`GOTRUE_DB_MAX_POOL_SIZE` - `int`

Define o número máximo de conexões abertas com o banco de dados. O padrão é 0, o que equivale a um número "ilimitado" de conexões.

`DB_NAMESPACE` - `string`

Adiciona um prefixo a todos os nomes de tabelas.

**Nota sobre Migrações**

As migrações são aplicadas automaticamente quando você executa `./auth`. No entanto, você também tem a opção de reexecutá-las pelos seguintes métodos:

- Se compilado localmente: `./auth migrate`
- Usando Docker: `docker run --rm auth gotrue migrate`

### Registro de Logs```properties
LOG_LEVEL=debug # available without GOTRUE prefix (exception)
GOTRUE_LOG_FILE=/var/log/go/auth.log
```
`LOG_LEVEL` - `string`

Controla quais níveis de log são exibidos. Escolha entre `panic`, `fatal`, `error`, `warn`, `info` ou `debug`. O padrão é `info`.

`LOG_FILE` - `string`

Se desejar que os logs sejam gravados em um arquivo, defina `log_file` como um caminho de arquivo válido.

### Observabilidade

O Auth tem observabilidade básica integrada. Ele é capaz de exportar métricas e traces do [OpenTelemetry](https://opentelemetry.io) para um coletor.

#### Tracing

Para habilitar o tracing, configure estas variáveis:

`GOTRUE_TRACING_ENABLED` - `bool`

`GOTRUE_TRACING_EXPORTER` - `string` apenas `opentelemetry` é suportado

Certifique-se de também configurar o [OpenTelemetry Exporter](https://opentelemetry.io/docs/reference/specification/protocol/exporter/) para o seu coletor ou serviço.

Por exemplo, se você usa o [Honeycomb.io](https://docs.honeycomb.io/getting-data-in/opentelemetry/go-distro/#using-opentelemetry-without-the-honeycomb-distribution), defina estas variáveis padrão OTLP do OpenTelemetry:```
OTEL_SERVICE_NAME=auth
OTEL_EXPORTER_OTLP_PROTOCOL=grpc
OTEL_EXPORTER_OTLP_ENDPOINT=https://api.honeycomb.io:443
OTEL_EXPORTER_OTLP_HEADERS="x-honeycomb-team=<API-KEY>,x-honeycomb-dataset=auth"
```
#### Métricas

Para ativar métricas, configure estas variáveis:

`GOTRUE_METRICS_ENABLED` - `boolean`

`GOTRUE_METRICS_EXPORTER` - `string` somente `opentelemetry` e `prometheus`
suportados

Certifique-se de também configurar a [configuração do OpenTelemetry
Exporter](https://opentelemetry.io/docs/reference/specification/protocol/exporter/)
para seu coletor ou serviço.

Se você usar o exporter `prometheus`, o host e a porta do servidor podem ser
configurados usando estas variáveis padrão do OpenTelemetry:

`OTEL_EXPORTER_PROMETHEUS_HOST` - endereço IP, padrão `0.0.0.0`

`OTEL_EXPORTER_PROMETHEUS_PORT` - número da porta, padrão `9100`

As métricas são exportadas no caminho `/` no servidor.

Se você usar o exporter `opentelemetry`, as métricas são enviadas para o
coletor.

Por exemplo, se você usar
[Honeycomb.io](https://docs.honeycomb.io/getting-data-in/opentelemetry/go-distro/#using-opentelemetry-without-the-honeycomb-distribution)
você deve definir estas variáveis OTLP padrão do OpenTelemetry:```
OTEL_SERVICE_NAME=auth
OTEL_EXPORTER_OTLP_PROTOCOL=grpc
OTEL_EXPORTER_OTLP_ENDPOINT=https://api.honeycomb.io:443
OTEL_EXPORTER_OTLP_HEADERS="x-honeycomb-team=<API-KEY>,x-honeycomb-dataset=auth"
```
Note that Honeycomb.io requires a paid plan to ingest metrics.

If you need to debug an issue with traces or metrics not being pushed, you can
set `DEBUG=true` to get more insights from the OpenTelemetry SDK.

#### Custom resource attributes

When using the OpenTelemetry tracing or metrics exporter you can define custom
resource attributes using the [standard `OTEL_RESOURCE_ATTRIBUTES` environment
variable](https://opentelemetry.io/docs/reference/specification/resource/sdk/#specifying-resource-information-via-an-environment-variable).

A default attribute `auth.version` is provided containing the build version.

#### Tracing HTTP routes

All HTTP calls to the Auth API are traced. Routes use the parametrized
version of the route, and the values for the route parameters can be found as
the `http.route.params.<route-key>` span attribute.

For example, the following request:```
GET /admin/users/4acde936-82dc-4552-b851-831fb8ce0927/
```
será rastreado como:```
http.method = GET
http.route = /admin/users/{user_id}
http.route.params.user_id = 4acde936-82dc-4552-b851-831fb8ce0927
```
#### Métricas de runtime do Go e métricas HTTP

Todas as métricas de runtime do Go são expostas. Algumas métricas HTTP também são coletadas
por padrão.

### JSON Web Tokens (JWT)```properties
GOTRUE_JWT_SECRET=supersecretvalue
GOTRUE_JWT_EXP=3600
GOTRUE_JWT_AUD=netlify
```
`JWT_SECRET` - `string` **obrigatório**

O segredo usado para assinar tokens JWT.

`JWT_EXP` - `number`

Por quanto tempo os tokens são válidos, em segundos. O padrão é 3600 (1 hora).

`JWT_AUD` - `string`

O audience padrão do JWT. Use audiences para agrupar usuários.

`JWT_ADMIN_GROUP_NAME` - `string`

O nome do grupo de administração (se estiver habilitado). O padrão é `admin`.

`JWT_DEFAULT_GROUP_NAME` - `string`

O grupo padrão atribuído a todos os novos usuários.

### Provedores de Autenticação Externos

Oferecemos suporte a `apple`, `azure`, `bitbucket`, `discord`, `facebook`, `figma`, `github`, `gitlab`, `google`, `keycloak`, `linkedin`, `notion`, `snapchat`, `spotify`, `slack`, `twitch`, `twitter` e `workos` para autenticação externa.

Use os nomes como chaves sob `external` para configurar cada um separadamente.```properties
GOTRUE_EXTERNAL_GITHUB_ENABLED=true
GOTRUE_EXTERNAL_GITHUB_CLIENT_ID=myappclientid
GOTRUE_EXTERNAL_GITHUB_SECRET=clientsecretvaluessssh
GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI=http://localhost:3000/callback
```
Nenhum provedor externo é necessário, mas você deve fornecer os valores obrigatórios se optar por habilitar algum.

`EXTERNAL_X_ENABLED` - `bool`

Se este provedor externo está habilitado ou não

`EXTERNAL_X_CLIENT_ID` - `string` **obrigatório**

O ID do Cliente OAuth2 registrado no provedor externo.

`EXTERNAL_X_SECRET` - `string` **obrigatório**

O Segredo do Cliente OAuth2 fornecido pelo provedor externo quando você se registrou.

`EXTERNAL_X_REDIRECT_URI` - `string` **obrigatório**

A URI para a qual um provedor OAuth2 redirecionará com os valores `code` e `state`.

`EXTERNAL_X_URL` - `string`

A URL base usada para construir as URLs de solicitação de autorização e tokens de acesso. Usada pelo `gitlab` e `keycloak`. Para `gitlab`, o padrão é `https://gitlab.com`. Para `keycloak`, você precisa definir isso para sua instância, por exemplo: `https://keycloak.example.com/realms/myrealm`

#### Hardening de rede

Configurar um provedor de autenticação externa faz com que o Auth faça solicitações HTTP de saída para os endpoints de autorização, token e userinfo desse provedor. Configurar um provedor por meio das configurações `GOTRUE_EXTERNAL_*` ou de uma API administrativa é uma ação administrativa e, ao fazê-lo, você assume a confiança nos hosts e URLs que serão contatados.

A rede em que o Auth é executado deve ser protegida para que essas conexões de saída não alcancem recursos internos que você não deseja expor, como endereços `localhost`/loopback ou endpoints de metadados de nuvem (por exemplo, `169.254.169.254`). Isso é mais importante para provedores com endpoints configuráveis pelo administrador ou detectáveis (por exemplo, provedores OAuth/OIDC personalizados), onde uma URL mal configurada ou maliciosa poderia, de outra forma, ser usada para alcançar a infraestrutura interna.

#### OAuth da Apple

Para experimentar a autenticação externa com a Apple localmente, você precisará fazer o seguinte:

1. Mapeie localhost para \<my_custom_dns \> no arquivo `/etc/hosts`.
2. Configure o auth para servir tráfego HTTPS em localhost substituindo `ListenAndServe` em [api.go](https://github.com/supabase/auth/blob/master/internal/api/api.go) por:   ```
      func (a *API) ListenAndServe(hostAndPort string) {
        log := logrus.WithField("component", "api")
        path, err := os.Getwd()
        if err != nil {
          log.Println(err)
        }
        server := &http.Server{
          Addr:    hostAndPort,
          Handler: a.handler,
        }
        done := make(chan struct{})
        defer close(done)
        go func() {
          waitForTermination(log, done)
          ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
          defer cancel()
          server.Shutdown(ctx)
        }()
        if err := server.ListenAndServeTLS("PATH_TO_CRT_FILE", "PATH_TO_KEY_FILE"); err != http.ErrServerClosed {
          log.WithError(err).Fatal("http server listen failed")
        }
    }
   ```
3. Gere o arquivo crt e key. Veja [aqui](https://www.freecodecamp.org/news/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec/) para mais informações.
4. Gere o `GOTRUE_EXTERNAL_APPLE_SECRET` seguindo este [post](https://medium.com/identity-beyond-borders/how-to-configure-sign-in-with-apple-77c61e336003)!

### Email

O envio de email não é obrigatório, mas é altamente recomendado para recuperação de senha.
Se ativado, você deve fornecer os valores obrigatórios abaixo.```properties
GOTRUE_SMTP_HOST=smtp.mandrillapp.com
GOTRUE_SMTP_PORT=587
[email protected]
GOTRUE_SMTP_PASS=correcthorsebatterystaple
[email protected]
GOTRUE_MAILER_SUBJECTS_CONFIRMATION="Please confirm"
```
`SMTP_ADMIN_EMAIL` - `string` **obrigatório**

O endereço de e-mail `From` para todos os e-mails enviados.

`SMTP_HOST` - `string` **obrigatório**

O nome do host do servidor de e-mail através do qual os e-mails serão enviados.

`SMTP_PORT` - `number` **obrigatório**

O número da porta para conectar ao servidor de e-mail.

`SMTP_USER` - `string`

Se o servidor de e-mail exigir autenticação, o nome de usuário a ser usado.

`SMTP_PASS` - `string`

Se o servidor de e-mail exigir autenticação, a senha a ser usada.

`SMTP_MAX_FREQUENCY` - `number`

Controla o tempo mínimo que deve passar antes de enviar outro e-mail de confirmação de cadastro ou redefinição de senha. O valor é o número de segundos. O padrão é 900 (15 minutos).

`SMTP_SENDER_NAME` - `string`

Define o nome do remetente. O padrão é `SMTP_ADMIN_EMAIL` se não for usado.

`MAILER_AUTOCONFIRM` - `bool`

Se você não exigir confirmação de e-mail, pode definir isso como `true`. O padrão é `false`.

`MAILER_OTP_EXP` - `number`

Controla a duração pela qual um link de e-mail ou OTP é válido.

`MAILER_URLPATHS_INVITE` - `string`

Caminho de URL a ser usado no e-mail de convite do usuário. O padrão é `/verify`.

`MAILER_URLPATHS_CONFIRMATION` - `string`

Caminho de URL a ser usado no e-mail de confirmação de cadastro. O padrão é `/verify`.

`MAILER_URLPATHS_RECOVERY` - `string`

Caminho de URL a ser usado no e-mail de redefinição de senha. O padrão é `/verify`.

`MAILER_URLPATHS_EMAIL_CHANGE` - `string`

Caminho de URL a ser usado no e-mail de confirmação de alteração de e-mail. O padrão é `/verify`.

`MAILER_SUBJECTS_INVITE` - `string`

Assunto do e-mail a ser usado para convite do usuário. O padrão é `You've been invited`.

`MAILER_SUBJECTS_CONFIRMATION` - `string`

Assunto do e-mail a ser usado para confirmação de cadastro. O padrão é `Confirm your email address`.

`MAILER_SUBJECTS_RECOVERY` - `string`

Assunto do e-mail a ser usado para redefinição de senha. O padrão é `Reset your password`.

`MAILER_SUBJECTS_MAGIC_LINK` - `string`

Assunto do e-mail a ser usado para e-mail de link mágico. O padrão é `Your sign-in link`.

`MAILER_SUBJECTS_EMAIL_CHANGE` - `string`

Assunto do e-mail a ser usado para confirmação de alteração de e-mail. O padrão é `Confirm your new email address`.

`MAILER_SUBJECTS_REAUTHENTICATION` - `string`

Assunto do e-mail a ser usado para reautenticação. O padrão é `{{ .Token }} is your verification code`.

`MAILER_SUBJECTS_PASSWORD_CHANGED_NOTIFICATION` - `string`

Assunto do e-mail a ser usado para notificação de senha alterada. O padrão é `Your password was changed`.

`MAILER_SUBJECTS_EMAIL_CHANGED_NOTIFICATION` - `string`

Assunto do e-mail a ser usado para notificação de e-mail alterado. O padrão é `Your email address was changed`.

`GOTRUE_MAILER_SUBJECTS_PHONE_CHANGED_NOTIFICATION` - `string`

Assunto do e-mail a ser usado para notificação de número de telefone alterado. O padrão é `Your phone number was changed`.

`GOTRUE_MAILER_SUBJECTS_IDENTITY_LINKED_NOTIFICATION` - `string`

Assunto do e-mail a ser usado para notificação de identidade vinculada. O padrão é `A new sign-in method was linked to your account`.

`GOTRUE_MAILER_SUBJECTS_IDENTITY_UNLINKED_NOTIFICATION` - `string`

Assunto do e-mail a ser usado para notificação de identidade desvinculada. O padrão é `A sign-in method was removed from your account`.

`GOTRUE_MAILER_SUBJECTS_MFA_FACTOR_ENROLLED_NOTIFICATION` - `string`

Assunto do e-mail a ser usado para notificação de método de verificação adicionado. O padrão é `A new verification method was added to your account`.

`GOTRUE_MAILER_SUBJECTS_MFA_FACTOR_UNENROLLED_NOTIFICATION` - `string`

Assunto do e-mail a ser usado para notificação de método de verificação removido. O padrão é `A verification method was removed from your account`.

`MAILER_TEMPLATES_INVITE` - `string`

Caminho de URL para um modelo de e-mail a ser usado ao convidar um usuário. (ex.: `https://www.example.com/path-to-email-template.html`)
As variáveis `SiteURL`, `Email` e `ConfirmationURL` estão disponíveis.

Conteúdo padrão (se o modelo não estiver disponível):```html
<h2>You've been invited</h2>

<p>You've been invited to create an account. Follow the link below to accept.</p>
<p><a href="https://github.com/supabase/auth/blob/master/%7B%7B%20.ConfirmationURL%20%7D%7D">Accept invitation</a></p>
```
`MAILER_TEMPLATES_CONFIRMATION` - `string`

Caminho de URL para um template de email a usar ao confirmar um cadastro. (ex.: `https://www.example.com/path-to-email-template.html`)
As variáveis `SiteURL`, `Email` e `ConfirmationURL` estão disponíveis.

Conteúdo padrão (se o template não estiver disponível):```html
<h2>Confirm your email address</h2>

<p>Follow the link below to confirm this email address and finish signing up.</p>
<p><a href="https://github.com/supabase/auth/blob/master/%7B%7B%20.ConfirmationURL%20%7D%7D">Confirm email address</a></p>
```
`MAILER_TEMPLATES_RECOVERY` - `string`

Caminho URL para um modelo de e-mail a ser usado ao redefinir uma senha. (ex.: `https://www.example.com/path-to-email-template.html`)
As variáveis `SiteURL`, `Email` e `ConfirmationURL` estão disponíveis.

Conteúdo Padrão (se o modelo estiver indisponível):```html
<h2>Reset your password</h2>

<p>We received a request to reset your password. Follow the link below to choose a new one.</p>
<p><a href="https://github.com/supabase/auth/blob/master/%7B%7B%20.ConfirmationURL%20%7D%7D">Reset password</a></p>
<p>If you didn't request this, you can safely ignore this email.</p>
```
`MAILER_TEMPLATES_MAGIC_LINK` - `string`

Caminho de URL para um modelo de e-mail a ser usado ao enviar o link mágico. (ex.: `https://www.example.com/path-to-email-template.html`)
As variáveis `SiteURL`, `Email` e `ConfirmationURL` estão disponíveis.

Conteúdo padrão (se o modelo estiver indisponível):```html
<h2>Your sign-in link</h2>

<p>Follow the link below to sign in. This link expires shortly and can only be used once.</p>
<p><a href="https://github.com/supabase/auth/blob/master/%7B%7B%20.ConfirmationURL%20%7D%7D">Sign in</a></p>
```
`MAILER_TEMPLATES_EMAIL_CHANGE` - `string`

Caminho de URL para um template de email a ser usado ao confirmar a alteração de um endereço de email. (por exemplo, `https://www.example.com/path-to-email-template.html`)
As variáveis `SiteURL`, `Email`, `NewEmail` e `ConfirmationURL` estão disponíveis.

Conteúdo Padrão (se o template não estiver disponível):```html
<h2>Confirm your new email address</h2>

<p>Follow the link below to confirm {{ .NewEmail }} as your new email address.</p>
<p><a href="https://github.com/supabase/auth/blob/master/%7B%7B%20.ConfirmationURL%20%7D%7D">Confirm new email address</a></p>
<p>If you didn't request this change, you can safely ignore this email.</p>
```
`MAILER_TEMPLATES_REAUTHENTICATION` - `string`

Caminho de URL para um modelo de email a ser usado ao reautenticar um usuário. (ex.: `https://www.example.com/path-to-email-template.html`)
A variável `Token` está disponível.

Conteúdo Padrão (se o modelo não estiver disponível):```html
<h2>Your verification code</h2>

<p>Use the code below to verify your identity. It expires shortly.</p>
<p>{{ .Token }}</p>
```
`MAILER_TEMPLATES_PASSWORD_CHANGED_NOTIFICATION` - `string`

Caminho de URL para um modelo de e-mail a ser usado ao notificar um usuário de que sua senha foi alterada. (ex.: `https://www.example.com/path-to-email-template.html`)
As variáveis `Email` estão disponíveis.

Conteúdo padrão (se o modelo não estiver disponível):```html
<h2>Your password was changed</h2>

<p>The password for your account was recently changed.</p>
<p>If you didn't make this change, reset your password and contact support immediately.</p>
```
`GOTRUE_MAILER_NOTIFICATIONS_PASSWORD_CHANGED_ENABLED` - `bool`

Se deve enviar um e-mail de notificação quando a senha de um usuário for alterada. O padrão é `false`.

`MAILER_TEMPLATES_EMAIL_CHANGED_NOTIFICATION` - `string`

Caminho de URL para um modelo de e-mail a ser usado ao notificar um usuário que seu e-mail foi alterado. (ex.: `https://www.example.com/path-to-email-template.html`)
As variáveis `Email` e `OldEmail` estão disponíveis.

Conteúdo padrão (se o modelo não estiver disponível):```html
<h2>Your email address was changed</h2>

<p>The email address for your account was changed from {{ .OldEmail }} to {{ .Email }}.</p>
<p>If you didn't make this change, contact support immediately.</p>
```
`GOTRUE_MAILER_NOTIFICATIONS_EMAIL_CHANGED_ENABLED` - `bool`

Se deve enviar um email de notificação quando o email de um usuário for alterado. O padrão é `false`.

`GOTRUE_MAILER_TEMPLATES_PHONE_CHANGED_NOTIFICATION` - `string`

Caminho de URL para um modelo de email a ser usado ao notificar um usuário de que seu número de telefone foi alterado. (por exemplo, `https://www.example.com/path-to-email-template.html`)
As variáveis `Email`, `Phone` e `OldPhone` estão disponíveis.

Conteúdo padrão (se o modelo não estiver disponível):```html
<h2>Your phone number was changed</h2>

<p>The phone number for your account was changed from {{ .OldPhone }} to {{ .Phone }}.</p>
<p>If you didn't make this change, contact support immediately.</p>
```
`GOTRUE_MAILER_NOTIFICATIONS_PHONE_CHANGED_ENABLED` - `bool`

Se deve enviar um e-mail de notificação quando o número de telefone de um usuário for alterado. O padrão é `false`.

`GOTRUE_MAILER_TEMPLATES_IDENTITY_LINKED_NOTIFICATION` - `string`

Caminho de URL para um modelo de e-mail a ser usado ao notificar um usuário de que um método de login foi vinculado à sua conta. (ex.: `https://www.example.com/path-to-email-template.html`)
As variáveis `Email` e `Provider` estão disponíveis.

Conteúdo padrão (se o modelo não estiver disponível):```html
<h2>A new sign-in method was linked</h2>

<p>Your {{ .Provider }} account was linked as a new sign-in method for {{ .Email }}.</p>
<p>If you didn't make this change, contact support immediately.</p>
```
`GOTRUE_MAILER_NOTIFICATIONS_IDENTITY_LINKED_ENABLED` - `bool`

Se deve enviar um e-mail de notificação quando um método de login é vinculado à conta de um usuário. O padrão é `false`.

`GOTRUE_MAILER_TEMPLATES_IDENTITY_UNLINKED_NOTIFICATION` - `string`

Caminho de URL para um modelo de e-mail a ser usado ao notificar um usuário de que um método de login foi removido da conta do usuário. (ex.: `https://www.example.com/path-to-email-template.html`)
As variáveis `Email` e `Provider` estão disponíveis.

Conteúdo padrão (se o modelo não estiver disponível):```html
<h2>A sign-in method was removed</h2>

<p>Your {{ .Provider }} account was removed as a sign-in method for {{ .Email }}.</p>
<p>If you didn't make this change, contact support immediately.</p>
```
`GOTRUE_MAILER_NOTIFICATIONS_IDENTITY_UNLINKED_ENABLED` - `bool`

Define se um e-mail de notificação deve ser enviado quando um método de entrada é removido da conta de um usuário. O padrão é `false`.

---

[Read more](https://github.com/supabase/auth)
Baixar ferramenta