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 expiresInnumber 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 requestKeynumber Chave da solicitação gerada pelo método
requestAdministratorPasswordReset. Para obter a chave da solicitação, acesse a propriedadeAdministratorPasswordResetRequest.prototype.key.authCodestring Código de autorização gerado pelo método
AdministratorPasswordResetRequest.prototype.authorize.newPasswordstring 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 userKeyDBKey | number Chave do usuário que terá a sua senha redefinida.
confirmationCodestring Código de confirmação enviado ao usuário por e-mail.
newPasswordstring 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 userKeyDBKey | number Chave do usuário que terá a sua senha redefinida.
optionsObject Opções da redefinição da senha.
Properties
Name Type Argument Description senderNamestring <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.
htmlContentstring <optional>
Conteúdo HTML do e-mail. O código de redefinição de senha será inserido no lugar da tag
{$confirmationCode}.contentstring <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
resetPassworde 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 userKeyDBKey | number Chave do usuário que terá a sua senha redefinida.
confirmationCodestring Código de confirmação enviado ao usuário por e-mail.