new PasswordResetService()
Classe responsável por criar e concluir requisições de redefinição de senhas dos usuários do sistema.
Methods
-
requestAdministratorPasswordReset(expiresIn)
-
Solicita a redefinição de senha do usuário administrator
Este método criará na classe "Solicitação de redefinição de senha do administrator" (-1898140299) da tabela iSysEvent um registro desta solicitação.
Parameters:
Name Type Description expiresIn
number Quantidade de milissegundos a partir da data e hora atual do banco de dados em que a requisição continuará válida.
Returns:
Requisição de definição do usuário administrator.
- Type
- AdministratorPasswordResetRequest
-
resetAdministratorPassword(requestKey, authCode, newPassword)
-
Conclui a solicitação da redefinição de senha do usuário administrator.
Na versão atual, é exigido que o fornecedor do sistema autorize a redefinição da senha do usuário administrator.
Parameters:
Name Type Description requestKey
number Chave da solicitação gerada pelo método
requestAdministratorPasswordReset
. Para obter a chave da solicitação, acesse a propriedadeAdministratorPasswordResetRequest.prototype.key
.authCode
string Código de autorização gerado pelo método
AdministratorPasswordResetRequest.prototype.authorize
.newPassword
string Nova senha do usuário.
-
resetPassword(userKey, confirmationCode, newPassword)
-
Efetiva a redefinição de senha de um usuário iniciada previamente pelo método module:@nginstack/engine/lib/security/PasswordResetService~PasswordResetService#sendPasswordResetEmail.
Este método irá gerar um erro caso o código de confirmação não seja mais válido ou se ele não tiver sido solicitado pelo usuário.
Parameters:
Name Type Description userKey
DBKey | number Chave do usuário que terá a sua senha redefinida.
confirmationCode
string Código de confirmação enviado ao usuário por e-mail.
newPassword
string Nova senha do usuário.
-
sendPasswordResetEmail(userKey, options)
-
Envia um e-mail para o usuário com um código de redefinição de senha.
O código será enviado para a conta de e-mail informada no cadastro do usuário. Será gerado um erro caso não haja uma conta de e-mail cadastrada ou se a política de autenticação não permitir a redefinição de senhas diretamente pelos usuários.
O código enviado no e-mail deve ser informado ao método module:@nginstack/engine/lib/security/PasswordResetService~PasswordResetService#resetPassword para concluir a redefinição da senha do usuário. Esse código terá uma validade estabelecida pela política de autenticação associada ao usuário.
Parameters:
Name Type Description userKey
DBKey | number Chave do usuário que terá a sua senha redefinida.
options
Object Opções da redefinição da senha.
Properties
Name Type Argument Description senderName
string <optional>
Nome do remetente do e-mail. É recomendado que o nome identifique o sistema e a base de dados. Alguns servidores SMTP podem desconsiderar essa configuração e utilizar o nome do usuário associado à conta SMTP.
htmlContent
string <optional>
Conteúdo HTML do e-mail. O código de redefinição de senha será inserido no lugar da tag
{$confirmationCode}
.content
string <optional>
Conteúdo textual do e-mail para os aplicativos de e-mail que não suportam HTML. O código de redefinição de senha será inserido no lugar da tag
{$confirmationCode}
.Example
const PasswordResetService = require('@nginstack/engine/lib/security/PasswordResetService'); const passwordResetService = new PasswordResetService(); const content = 'Recebemos um pedido de redefinição da senha da ' + 'conta "' + DBKey.from(userKey).str('iName') + '" no sistema. ' + 'Para continuar, informe o código <b>{$confirmationCode}</b> na tela ' + 'de redefinição de senha.'; passwordResetService.sendPasswordResetEmail(userKey, { senderName: vendor.systemName + ' ' + dbCache.dbName.toUpperCase(), htmlContent: content });
-
validateConfirmationCode(userKey, confirmationCode)
-
Verifica se um código de confirmação de senha gerado previamente pelo método module:@nginstack/engine/lib/security/PasswordResetService~PasswordResetService#sendPasswordResetEmail ainda é válido.
Este método irá gerar um erro caso o código de confirmação não seja mais válido ou se ele não tiver sido solicitado pelo usuário. Ele também será chamado automaticamente pelo método
resetPassword
e deve ser utilizado apenas quando for necessário validar o código antes de obter a nova senha do usuário.Parameters:
Name Type Description userKey
DBKey | number Chave do usuário que terá a sua senha redefinida.
confirmationCode
string Código de confirmação enviado ao usuário por e-mail.