Pular para o conteúdo principal

Política de senha

O Logto aplica a política de senha de diferentes maneiras, dependendo de como a senha é criada ou atualizada:

Configurar política de senha​

Para novos usuários ou usuários que estão atualizando sua senha, você pode definir uma política de senha para impor requisitos de força. Acesse o Console > Segurança > Política de senha para configurar as definições da política de senha.

  1. Comprimento mínimo da senha: Defina o número mínimo de caracteres exigidos para a senha. (O NIST sugere usar pelo menos 8 caracteres)
  2. Tipos mínimos de caracteres exigidos: Defina o número mínimo de tipos de caracteres exigidos para a senha. Os tipos de caracteres disponíveis são:
    1. Letras maiúsculas: (A-Z)
    2. Letras minúsculas: (a-z)
    3. Números: (0-9)
    4. Caracteres especiais: (!"#$%&'()\*+,-./:;<>=?@[]^\_`|{}~ )
  3. Verificação de histórico de vazamentos: Ative esta configuração para rejeitar senhas que já foram expostas em vazamentos de dados. (Fornecido por Have I Been Pwned)
  4. Verificação de repetição: Ative esta configuração para rejeitar senhas que contenham caracteres repetitivos. (ex.: "11111111" ou "password123")
  5. Verificação de informações do usuário: Ative esta configuração para rejeitar senhas que contenham informações do usuário, como nome de usuário, endereço de e-mail ou número de telefone.
  6. Palavras personalizadas: Forneça uma lista de palavras personalizadas (não diferencia maiúsculas de minúsculas) que você deseja rejeitar na senha.

Expiração de senha​

A expiração de senha exige que os usuários redefinam sua senha após um determinado número de dias. Você também pode expirar manualmente a senha de um usuário específico, por exemplo, quando souber que ela foi vazada.

A política é verificada somente depois que o usuário digita a senha correta no login por senha. Usuários que fazem login com código de verificação, login social, SSO ou passkey não são afetados.

Ativar expiração de senha​

Vá para Console > Segurança > Política de senha e encontre o card Expiração de senha:

  1. Ative Ativar expiração de senha.
  2. Defina o Período de validade da senha (dias), entre 1 e 9999 dias.
  3. Salve as alterações.

A opção permanece desativada até que a experiência de login tenha pelo menos um método de esqueci minha senha (e-mail ou telefone) com um conector funcional, já que os usuários só podem redefinir uma senha expirada por esse fluxo. Pelo mesmo motivo, enquanto a política estiver ativada, você não pode excluir o último conector de e-mail ou SMS que suporte o recurso de esqueci minha senha. Se seu cadastro não exigir endereço de e-mail ou número de telefone, alguns usuários podem não ter como receber um código de redefinição, então considere coletar um no cadastro.

O Logto registra quando a senha de um usuário foi definida ou alterada pela última vez. Quando essa senha atinge a idade do período de validade, o próximo login por senha do usuário é bloqueado até que ele a redefina. Usuários sem data registrada de alteração de senha são medidos a partir do momento em que você ativou a política, então ativá-la não expira todas as senhas de uma vez. Desativar e ativar novamente a política redefine esse tempo inicial.

Quando o usuário define uma nova senha, seja pelo fluxo de esqueci minha senha, pela Account API ou pela Management API, a idade da senha é reiniciada e qualquer expiração manual é removida.

Expirar a senha de um usuário manualmente​

Quando a política de expiração de senha está ativada, você pode forçar um usuário específico a redefinir sua senha no próximo login:

Se a política não estiver ativada, a API retorna 400 com o código de erro sign_in_experiences.password_expiration_not_enabled, e o botão Expirar no Console fica desativado.

Um caso comum é uma senha que se sabe ter sido vazada. Expirá-la faz com que o usuário prove que possui seu endereço de e-mail ou número de telefone com um código de verificação antes de poder definir uma nova senha e fazer login novamente. Se você quiser expirar senhas apenas manualmente e não forçar a rotação regular para todos os usuários, ative a política com um período de validade longo, como 3650 dias.

Expirar uma senha não desconecta o usuário das sessões existentes. Para cortar o acesso imediatamente, também revogue as sessões ativas do usuário e aplicativos de terceiros autorizados.

O que os usuários finais veem​

Quando um usuário faz login com uma senha expirada, após digitar a senha correta, a página de login exibe um modal com a mensagem "Sua senha expirou e deve ser redefinida antes que você possa fazer login." Ao clicar em Redefinir senha, o usuário é direcionado para o fluxo de esqueci minha senha com seu identificador já preenchido. Depois de verificar com um código enviado para seu e-mail ou telefone e definir uma nova senha, ele pode fazer login novamente.

Se você construir sua própria interface de login com a Experience API, a solicitação de verificação de senha falha com o código de erro password.expired (HTTP 422). Trate esse erro enviando o usuário para seu fluxo de redefinição de senha.

Verificação de conformidade de senha​

Após atualizar a política de senha no Logto, os usuários existentes ainda podem fazer login com suas senhas atuais. Apenas contas recém-criadas serão obrigadas a seguir a política atualizada.

Para impor uma segurança mais forte, você pode usar o POST /api/sign-in-exp/default/check-password API para verificar se a senha de um usuário atende à política atual definida na experiência de login padrão. Se não atender, você pode solicitar que o usuário atualize sua senha com um fluxo personalizado usando a Account API.

Gerenciar usuários Cadastro e login

Configurações de conta pela Account API

Desenhe sua política de senha