Classes
Type Definitions
-
TOTPOptions
-
Opções de geração e verificação de senhas de uso único.
Type:
- Object
Properties:
Name Type Argument Description digits
number <optional>
Quantidade de dígitos. Caso não seja informado, será utilizada uma senha de 6 dígitos.
algorithm
string <optional>
Algoritmo de hash que será utilizado pelo HMAC para gerar a senha de uso único. São suportados os seguintes algoritmos:
'sha1'
,'sha256'
e'sha512'
. Caso não seja informado, será utilizado o'sha1'
.timeStep
number <optional>
Determina o período em segundos no qual uma senha de uso único permanecerá válida. O algoritmo TOTP utiliza um contador interno que é incrementado a cada
timeStep
a partir do início do Unix Epoch. A cada alteração do contador, uma nova senha única é gerada. O valor atual do contador pode ser obtido pela expressão:counter = Math.floor((Date.now() / 1000) / timeStep)
Caso não seja informado, serão utilizados passos de 30 segundos. Esse é o valor sugerido pelo RFC 6238 e adotado pelos principais autenticadores TOTP.
tolerance
number <optional>
Quantidade de time-steps que serão adicionados e subtraídos ao time-step atual na verificação de uma senha de uso único. A tolerância é necessária para desconsiderar o tempo de transmissão da senha de uso único para o servidor e as eventuais diferenças de relógio entre o cliente que gerou a senha e o servidor que irá validá-la. Caso não seja informada, será adotada uma tolerância de 1 time-step, valor sugerido no RFC 6238.
currentTimestamp
number <optional>
Data e hora atual que será utilizada pelo algoritmo TOTP, representada pela quantidade de milissegundos a partir de 1 de Janeiro de 1970 00:00:00 UTC. Caso não seja informada, será utilizada a data e hora local do servidor da base de dados. Valores de timestamp negativos não são suportados pelo algoritmo TOTP.