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
|
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> breachCheckMode :string
-
Modo de verificação de violação de senha. Pode ser "required" (obrigatório),"optional" (opcional) ou "disabled" (desativado).
Type:
- string
-
<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> minStrength :number
-
Valor mínimo de força que a senha deve possuir. O valor é número entre 0 e 4,onde 0 indica nenhuma exigência de força e 4 indica a força máxima exigida.
Type:
- number
-
<readonly> passwordPolicyKey :number
-
Chave da política 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, ou seja, caracteres que nãosejam letras (incluindo as acentuadas) nem dígitos. Espaços são considerados caracteresespeciais.
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 minLengthnumber <optional>
Comprimento mínimo da senha a ser gerada. O comprimento mínimo da senha será o maior entre o valor informado e o comprimento mínimo definido nas regras do validador. Caso não seja informado, será considerado apenas o comprimento mínimo configurado.
Senhas podem ser geradas com tamanho maior que o comprimento mínimo calculado para atender ao requisito de força mínima durante a geração.
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).lastChangedata 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
Example
const PasswordValidator = require('@nginstack/engine/lib/security/PasswordValidator.js'); const passwordValidator = new PasswordValidator(); const status = passwordValidator.getPasswordStatus(); status; // => { valid: true, lastChange: Date, daysToExpire: 30, expiringSoon: false } -
validatePassword(password)
-
Valida a senha fornecida de acordo com as regras configuradas no validador.
Parameters:
Name Type Description passwordstring 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.strength: nível de força da senha, variando de 0 a 4.suggestions: lista de mensagens sugerindo melhorias para a senha, se houver.message: mensagem formatada com o resultado da validação.
- Type
- PasswordValidationResult
Example
const PasswordValidator = require('@nginstack/engine/lib/security/PasswordValidator.js'); const passwordValidator = new PasswordValidator(); const result = passwordValidator.validatePassword(newPassword); result; // => { valid: true, strength: 3, suggestions: [], message: 'Senha válida.' }