Pular para o conteúdo principal

Altcha

Suporte ao Altcha, captcha open-source que implementa o mecanismo de segurança que evita robôs e garante interação humana na execução dos serviços na API REST.

Exemplo da configuração completa com os valores padrão:

"altcha": {
"enabled": true,
"algorithm": "PBKDF2/SHA-256",
"secret": "POR_PADRÃO_O_SEGREDO_É_AUTOGERADO",
"keySecret": "POR_PADRÃO_A_CHAVE_DO_SEGREDO_É_AUTOGERADO",
"cost": 10000,
"counter": 10000,
"expires": 3600, // EM SEGUNDOS
"checkExpires": true
}
const altchaPayload = _req.getString("altcha");
if (_altcha.enabled() && !_altcha.verifySolution(altchaPayload)) {
_header.status(409);
_out.json(
_val.map()
.set("error", `invalid-altcha-payload`)
);
_exec.stop();
}


algorithm​


_altcha.algorithm() : string​

Descrição​

O tipo de algoritmo que é utilizado na encriptação.

Retorno​

( string )

O código que identifica o algoritmo de encriptação.


_altcha.algorithm(algoritmo: string) : Altcha​

Descrição​

Define o tipo de algoritmo que é utilizado na encriptação.

Atributos​
NOMETIPODESCRIÇÃO
algoritmostringCódigo que identifica o algoritmo de encriptação.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


challenge​


_altcha.challenge() : Values​

Descrição​

Gera as configurações de desafio para o widget do frontend.

Retorno​

( Values )

Dados de configuração para o widget poder processar o resultado do desafio.


checkExpires​


_altcha.checkExpires() : boolean​

Descrição​

Obtém se checa o tempo de expiração ou não.

Retorno​

( boolean )

Checar o tempo de expiração ou não.


_altcha.checkExpires(checaExpira: boolean) : Altcha​

Descrição​

Define se checa o tempo de expiração ou não.

Atributos​
NOMETIPODESCRIÇÃO
checaExpirabooleanSe deve checar o tempo de expiração ou não.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


cost​


_altcha.cost() : long​

Descrição​

Quantidade de interações para chegar ao prefixo da chave derivada.

Retorno​

( long )

Contagem de força bruta.


_altcha.cost(custo: int) : Altcha​

Descrição​

Define a quantidade de interações para chegar ao prefixo da chave derivada.

Atributos​
NOMETIPODESCRIÇÃO
custointO número da contagem de força bruta.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


counter​


_altcha.counter() : long​

Descrição​

No modo determinístico, é calculado o prefixo da chave a partir do contador.

Retorno​

( long )

Contador do modo determinístico.


_altcha.counter(contador: int) : Altcha​

Descrição​

Define no modo determinístico, o contador que é utilizado para calcular o prefixo da chave.

Atributos​
NOMETIPODESCRIÇÃO
contadorintO valor do contador do modo determinístico.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


enabled​


_altcha.enabled() : boolean​

Descrição​

Obtém se o Altcha está habilitado.

Retorno​

( boolean )

Se está ativo ou não.


_altcha.enabled(habilitado: boolean) : Altcha​

Descrição​

Define se o Altcha está habilitado.

Atributos​
NOMETIPODESCRIÇÃO
habilitadobooleanSe deve ser ativado ou não.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


expires​


_altcha.expires() : int​

Descrição​

Obtém o tempo tempo de expiração em segundos.

Retorno​

( int )

O tempo de expiração em segundos.


_altcha.expires(expira: int) : Altcha​

Descrição​

Define o tempo tempo de expiração em segundos.

Atributos​
NOMETIPODESCRIÇÃO
expiraintO limite em segundos para expiração.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


getAlgorithm​


_altcha.getAlgorithm() : string​

Descrição​

O tipo de algoritmo que é utilizado na encriptação.

Retorno​

( string )

O código que identifica o algoritmo de encriptação.


getCost​


_altcha.getCost() : long​

Descrição​

Quantidade de interações para chegar ao prefixo da chave derivada.

Retorno​

( long )

Contagem de força bruta.


getCounter​


_altcha.getCounter() : long​

Descrição​

No modo determinístico, é calculado o prefixo da chave a partir do contador.

Retorno​

( long )

Contador do modo determinístico.


getExpires​


_altcha.getExpires() : int​

Descrição​

Obtém o tempo tempo de expiração em segundos.

Retorno​

( int )

O tempo de expiração em segundos.


getKeySecret​


_altcha.getKeySecret() : string​

Descrição​

Obtém a chave de assinatura secreta que está sendo utilizada na encriptação.

Retorno​

( string )

A chave de assinatura secreta utilizada na encriptação.


getSecret​


_altcha.getSecret() : string​

Descrição​

Obtém o código secreto que está sendo utilizado na encriptação.

Retorno​

( string )

O código secreto utilizado na encriptação.


isCheckExpires​


_altcha.isCheckExpires() : boolean​

Descrição​

Obtém se checa o tempo de expiração ou não.

Retorno​

( boolean )

Checar o tempo de expiração ou não.


isEnabled​


_altcha.isEnabled() : boolean​

Descrição​

Obtém se o Altcha está habilitado.

Retorno​

( boolean )

Se está ativo ou não.


keySecret​


_altcha.keySecret() : string​

Descrição​

Obtém a chave de assinatura secreta que está sendo utilizada na encriptação.

Retorno​

( string )

A chave de assinatura secreta utilizada na encriptação.


_altcha.keySecret(chaveSecreta: string) : Altcha​

Descrição​

Define a chave de assinatura secreta que será utilizada na encriptação.

Atributos​
NOMETIPODESCRIÇÃO
chaveSecretastringChave de assinatura secreta que a encriptação deve usar.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


load​


_altcha.load() : Altcha​

Descrição​

Carrega as configurações relacionadas ao recurso Altcha na aplicação.

Retorno​

( Altcha )

Instância atual do recurso Altcha.


secret​


_altcha.secret() : string​

Descrição​

Obtém o código secreto que está sendo utilizado na encriptação.

Retorno​

( string )

O código secreto utilizado na encriptação.


_altcha.secret(segredo: string) : Altcha​

Descrição​

Define o código secreto que será utilizado na encriptação.

Atributos​
NOMETIPODESCRIÇÃO
segredostringO código secreto que a encriptação deve usar.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


setAlgorithm​


_altcha.setAlgorithm(algoritmo: string) : Altcha​

Descrição​

Define o tipo de algoritmo que é utilizado na encriptação.

Atributos​
NOMETIPODESCRIÇÃO
algoritmostringCódigo que identifica o algoritmo de encriptação.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


setCheckExpires​


_altcha.setCheckExpires(checaExpira: boolean) : Altcha​

Descrição​

Define se checa o tempo de expiração ou não.

Atributos​
NOMETIPODESCRIÇÃO
checaExpirabooleanSe deve checar o tempo de expiração ou não.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


setCost​


_altcha.setCost(custo: int) : Altcha​

Descrição​

Define a quantidade de interações para chegar ao prefixo da chave derivada.

Atributos​
NOMETIPODESCRIÇÃO
custointO número da contagem de força bruta.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


setCounter​


_altcha.setCounter(contador: int) : Altcha​

Descrição​

Define no modo determinístico, o contador que é utilizado para calcular o prefixo da chave.

Atributos​
NOMETIPODESCRIÇÃO
contadorintO valor do contador do modo determinístico.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


setEnabled​


_altcha.setEnabled(habilitado: boolean) : Altcha​

Descrição​

Define se o Altcha está habilitado.

Atributos​
NOMETIPODESCRIÇÃO
habilitadobooleanSe deve ser ativado ou não.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


setExpires​


_altcha.setExpires(expira: int) : Altcha​

Descrição​

Define o tempo tempo de expiração em segundos.

Atributos​
NOMETIPODESCRIÇÃO
expiraintO limite em segundos para expiração.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


setKeySecret​


_altcha.setKeySecret(chaveSecreta: string) : Altcha​

Descrição​

Define a chave de assinatura secreta que será utilizada na encriptação.

Atributos​
NOMETIPODESCRIÇÃO
chaveSecretastringChave de assinatura secreta que a encriptação deve usar.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


setSecret​


_altcha.setSecret(segredo: string) : Altcha​

Descrição​

Define o código secreto que será utilizado na encriptação.

Atributos​
NOMETIPODESCRIÇÃO
segredostringO código secreto que a encriptação deve usar.
Retorno​

( Altcha )

Instância atual do recurso Altcha.


verifySolution​


_altcha.verifySolution(payload: string) : boolean​

Descrição​

Verifica se o resultado do desafio gerado pelo widget no frontend é válido.

Atributos​
NOMETIPODESCRIÇÃO
payloadstring
Retorno​

( boolean )

Se o resultado do desafio é válido ou não.