> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Requisitos de deploy da MFA (BYOC)

> Configure a proteção da sessão de MFA, os limites de desafios e a entrega por email em um deploy BYOC.

Esta página diz a um operador BYOC o que configurar antes que os usuários habilitem a [autenticação multifator](https://docs.lerian.studio/pt/platform/access-manager/features/mfa/overview).

> [!NOTE]
>
> Esta página vale apenas para deploys BYOC. Na Lerian Cloud, a Lerian opera essa configuração para você.

## Proteger as sessões de MFA

***

Defina `MFA_SECRET` no ambiente do processo Auth.

O Auth usa esse segredo para assinar tokens de sessão de MFA de curta duração. Esses tokens conectam o primeiro fator de entrada verificado ao desafio de MFA.

Defina `MFA_ENABLED=true` no ambiente do processo Auth para fazer o Auth verificar o `MFA_SECRET` na inicialização. Se o segredo estiver vazio, o Auth inicia e registra um erro no log. As rotas de MFA e as rotas de login com [passkey](https://docs.lerian.studio/pt/platform/access-manager/features/passkeys/overview.md) então retornam `503` com o código `AUT-0028` até você definir o segredo e reiniciar o Auth. Essa validação de inicialização não habilita nem desabilita a MFA de usuários individuais. `MFA_ENABLED=false` não dispensa a exigência de MFA desses usuários.

> [!WARNING]
>
> Configure `MFA_SECRET` antes que os usuários habilitem a MFA. Se o valor estiver vazio, o Auth não conseguirá criar o token de MFA necessário para continuar uma entrada com MFA habilitada.

Injete o valor a partir de um cofre de segredos. Não o inclua em um arquivo de valores versionado.

## Configurar os limites de sessão e de tentativas

***

O deploy do Auth aceita estas variáveis:

| Variável | Padrão | Finalidade |
| - | - | - |
| `MFA_SESSION_TTL_SEC` | `300` | Duração da sessão curta de entrada com MFA, em segundos. |
| `MFA_MAX_ATTEMPTS` | `5` | Número máximo de tentativas de verificação e de confirmação de adesão permitidas por usuário dentro da janela do contador. |
| `MFA_MAX_RESEND_ATTEMPTS` | `3` | Número máximo de envios de desafios por email permitidos por usuário e método de email dentro da janela do contador. |

Sessões curtas reduzem o período em que um token de MFA roubado é útil. Uma requisição de verificação conta apenas depois de passar pelas validações de entrada, token, sessão, organização e IP. As confirmações de adesão contam para o mesmo limite. O contador de verificações por usuário expira após `MFA_SESSION_TTL_SEC` sem outra requisição contabilizada. Cada requisição contabilizada renova esse prazo.

O contador de reenvios é por usuário e método, com uma janela de `MFA_SESSION_TTL_SEC` a partir da primeira reserva. Envios que falham liberam a reserva. Uma verificação ou confirmação de adesão bem-sucedida limpa ambos os contadores. Reiniciar a entrada não os redefine. Os limites de tentativas e reenvios reduzem as tentativas repetidas de adivinhar códigos e o abuso na entrega de mensagens.

## Configurar a entrega por email

***

A MFA por email precisa de:

* um provedor de comunicação por email no Identity.
* um vínculo entre o provedor e a aplicação que envia as mensagens de MFA.
* um endereço de email na conta do usuário.

Use as operações de provedor e de provedor da aplicação descritas em [APIs do Identity](https://docs.lerian.studio/pt/reference/platform/access-manager/am-identity-apis.md).

## Validar o deploy

***

**1. Habilite um aplicativo autenticador para um usuário de teste**

Conclua a configuração e guarde os códigos de recuperação emitidos.

**2. Saia e entre de novo**

Confirme que o Auth retorna a etapa de MFA depois do primeiro fator.

**3. Verifique um código de acesso válido**

Digite o código atual do aplicativo autenticador. Espere a sessão normal do usuário.

**4. Verifique a expiração**

Inicie a entrada novamente e espere mais do que `MFA_SESSION_TTL_SEC`. Espere que a sessão de MFA expire.

**5. Teste os métodos de entrega configurados**

Habilite o email para o usuário de teste. Solicite um desafio e confirme que a mensagem chega ao endereço salvo.

**6. Teste um código de recuperação**

Entre com um código de recuperação e confirme que o mesmo código não pode ser usado de novo.

Não rode testes de limite com um usuário de produção. Tentativas inválidas repetidas podem bloquear temporariamente a verificação de MFA desse usuário.

## Páginas relacionadas

***

> [card] [Conclua a MFA no Console](https://docs.lerian.studio/pt/platform/access-manager/features/mfa/console.md)
>
> Teste a verificação de códigos de acesso e de recuperação durante a entrada.

> [card] [Gerencie a MFA pela API](https://docs.lerian.studio/pt/platform/access-manager/features/mfa/api.md)
>
> Integre a adesão da conta e a verificação da entrada.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.