Class: PasswordValidator

@nginstack/engine/lib/security/PasswordValidator~ PasswordValidator


new PasswordValidator( [options])

Classe responsável por validar senhas de usuários do sistema e construir senhas seguras a partir de uma regra de segurança definida.

Parameters:
Name Type Argument Description
options Object <optional>

Opções de configuração do validador de senhas.

Properties
Name Type Argument Description
userKey number <optional>

Chave do usuário ao qual a senha pertence. Caso não seja informada, será utilizado o usuário logado na sessão.

passwordRuleKey number <optional>

Chave da regra de segurança de senhas a ser utilizada. Caso não seja informada, será utilizada a regra associada ao usuário. Informar esta regra sobrescreve a regra a ser usada para validar as senhas.

minLength number <optional>

Comprimento mínimo da senha. Informar este valor sobrescreve a respectiva configuração da regra de senha. Não pode ser maior que 256, nem menor do que 4, nem maior que maxLength.

maxLength number <optional>

Comprimento máximo da senha. Informar este valor sobrescreve a respectiva configuração da regra de senha. Não pode ser maior do que 256, nem menor do que 4, nem menor que minLength.

requireNumbers boolean <optional>

Indica se a senha deve conter números. Informar este valor sobrescreve a respectiva configuração da regra de senha.

requireSpecialCharacters boolean <optional>

Indica se a senha deve conter caracteres especiais. Informar este valor sobrescreve a respectiva configuração da regra de senha.

requireUppercase boolean <optional>

Indica se a senha deve conter letras maiúsculas. Informar este valor sobrescreve a respectiva configuração da regra de senha.

requireLowercase boolean <optional>

Indica se a senha deve conter letras minúsculas. Informar este valor sobrescreve a respectiva configuração da regra de senha.

forbidRepeatedCharacters boolean <optional>

Indica se a senha não deve conter caracteres repetidos. Informar este valor sobrescreve a respectiva configuração da regra de senha.

allowReuse boolean <optional>

Indica se a reutilização de senhas antigas deve ser permitida. Informar este valor sobrescreve a respectiva configuração da regra de senha. Ative quando quiser testar apenas as regras de formação de senha, sem considerar a reutilização de senhas antigas do usuário.

Members


<static, readonly> MAX_PASSWORD_LENGTH :number

Comprimento máximo possível de uma senha do sistema.

Type:
  • number

<static, readonly> MIN_PASSWORD_LENGTH :number

Comprimento mínimo possível de uma senha do sistema.

Type:
  • number

<readonly> allowReuse :boolean

Indica se a reutilização de senhas antigas do usuário é permitida.

Type:
  • boolean

<readonly> forbidRepeatedCharacters :boolean

Indica se a senha não deve conter caracteres repetidos.

Type:
  • boolean

<readonly> maxLength :number

Comprimento máximo da senha.

Type:
  • number

<readonly> maxTriesBeforeLock :number

Número máximo de tentativas de entrar no sistema usando a senha antes do bloqueiodo usuário.

Type:
  • number

<readonly> minLength :number

Comprimento mínimo da senha.

Type:
  • number

<readonly> passwordRuleKey :number

Chave da regra de segurança de senhas sendo utilizada.

Type:
  • number

<readonly> requireLowercase :boolean

Indica se a senha deve conter letras minúsculas.

Type:
  • boolean

<readonly> requireNumbers :boolean

Indica se a senha deve conter números.

Type:
  • boolean

<readonly> requireSpecialCharacters :boolean

Indica se a senha deve conter caracteres especiais.

Type:
  • boolean

<readonly> requireUppercase :boolean

Indica se a senha deve conter letras maiúsculas.

Type:
  • boolean

<readonly> reusePreventionCount :number

Número de senhas antigas do usuário que não podem ser reutilizadas.

Type:
  • number

<readonly> reusePreventionDays :number

Número de dias durante os quais senhas antigas do usuário não podem serreutilizadas.

Type:
  • number

<readonly> userKey :number

Chave do usuário que terá as senhas avaliadas.

Type:
  • number

Methods


generatePassword( [minLength])

Gera uma senha aleatória de acordo com as regras configuradas no validador.

Parameters:
Name Type Argument Description
minLength number <optional>

Comprimento mínimo da senha a ser gerada. O comprimento da senha será o maior entre o valor informado e o comprimento mínimo definido nas regras do validador. Caso não informado, será considerado apenas o comprimento mínimo configurado.

Returns:

A senha gerada.

Type
string

getPasswordStatus()

Este método calcula o status da senha corrente do usuário, indicando se ela está expirada e precisa ser trocada.

Returns:

Um objeto com o status da senha corrente do usuário, com as seguintes propriedades:

  • valid: booleano que indica se a senha ainda está na validade (não expirada).
  • lastChange data da última alteração da senha.
  • daysToExpire: número de dias restantes até a expiração da senha.
  • expiringSoon: booleano que indica se a senha está prestes a expirar, momento em que o sistema passa a notificar o usuário para a troca de senha.
Type
PasswordStatus

validatePassword(password)

Valida a senha fornecida de acordo com as regras configuradas no validador.

Parameters:
Name Type Description
password string

Senha a ser validada.

Returns:

Um objeto com o resultado da validação, com as seguintes propriedades:

  • valid: booleano que indica se a senha é válida.
  • errors: lista de mensagens de erros de validação, se houver.
  • message: mensagem formatada com o resultado da validação. única string.
Type
PasswordValidationResult