Altcha
Support for Altcha, an open-source captcha that implements a security mechanism to prevent bots and ensure human interaction in the execution of services on the REST API.
Example of the complete configuration with default values:
"altcha": {
"enabled": true,
"algorithm": "PBKDF2/SHA-256",
"secret": "BY_DEFAULT_THE_SECRET_IS_AUTOGENERATE",
"keySecret": "BY_DEFAULT_THE_SECRET_KEY_IS_AUTOGENERATE",
"cost": 10000,
"counter": 10000,
"expires": 3600, // a SECONDS
"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
Description
The type of algorithm used in the cryptography.
Return
( string )
The code that identifies the encryption algorithm.
_altcha.algorithm(algorithm: string) : Altcha
Description
It defines the type of algorithm used in cryptography.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| algorithm | string | Code that identifies the encryption algorithm. |
Return
( Altcha )
Current instance of the Altcha resource.
challenge
_altcha.challenge() : Values
Description
Generates the challenge settings for the frontend widget.
Return
( Values )
Configuration data for the widget to process the challenge result.
checkExpires
_altcha.checkExpires() : boolean
Description
Obtains whether the expiration time should be checked or not.
Return
( boolean )
Check the expiration time or not.
_altcha.checkExpires(checkExpires: boolean) : Altcha
Description
Defines whether to check the expiration time or not.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| checkExpires | boolean | Whether it should check the expiration time or not. |
Return
( Altcha )
Current instance of the Altcha resource.
cost
_altcha.cost() : long
Description
Number of iterations required to arrive at the derived key prefix.
Return
( long )
Brute force counting.
_altcha.cost(cost: int) : Altcha
Description
Defines the number of iterations required to arrive at the derived key prefix.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| cost | int | The number of the brute force count. |
Return
( Altcha )
Current instance of the Altcha resource.
counter
_altcha.counter() : long
Description
In deterministic mode, the key prefix is calculated from the counter.
Return
( long )
Deterministic mode counter.
_altcha.counter(counter: int) : Altcha
Description
Defines, in deterministic mode, the counter that is used to calculate the key prefix.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| counter | int | The counter value in deterministic mode. |
Return
( Altcha )
Current instance of the Altcha resource.
enabled
_altcha.enabled() : boolean
Description
Retrieves whether Altcha is enabled.
Return
( boolean )
Whether it's active or not.
_altcha.enabled(enabled: boolean) : Altcha
Description
Defines whether Altcha is enabled.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| enabled | boolean | Whether it should be activated or not. |
Return
( Altcha )
Current instance of the Altcha resource.
expires
_altcha.expires() : int
Description
Get the expiration time in seconds.
Return
( int )
Expiration time in seconds.
_altcha.expires(expires: int) : Altcha
Description
Set the expiration time in seconds.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| expires | int | The time limit in seconds for expiration. |
Return
( Altcha )
Current instance of the Altcha resource.
getAlgorithm
_altcha.getAlgorithm() : string
Description
The type of algorithm used in the cryptography.
Return
( string )
The code that identifies the encryption algorithm.
getCost
_altcha.getCost() : long
Description
Number of iterations required to arrive at the derived key prefix.
Return
( long )
Brute force counting.
getCounter
_altcha.getCounter() : long
Description
In deterministic mode, the key prefix is calculated from the counter.
Return
( long )
Deterministic mode counter.
getExpires
_altcha.getExpires() : int
Description
Get the expiration time in seconds.
Return
( int )
Expiration time in seconds.
getKeySecret
_altcha.getKeySecret() : string
Description
Obtain the secret signing key being used in the encryption.
Return
( string )
The secret signing key used in cryptography.
getSecret
_altcha.getSecret() : string
Description
Obtain the secret code that is being used in the encryption.
Return
( string )
The secret code used in cryptography.
isCheckExpires
_altcha.isCheckExpires() : boolean
Description
Obtains whether the expiration time should be checked or not.
Return
( boolean )
Check the expiration time or not.
isEnabled
_altcha.isEnabled() : boolean
Description
Retrieves whether Altcha is enabled.
Return
( boolean )
Whether it's active or not.
keySecret
_altcha.keySecret() : string
Description
Obtain the secret signing key being used in the encryption.
Return
( string )
The secret signing key used in cryptography.
_altcha.keySecret(keySecret: string) : Altcha
Description
Define the secret signing key that will be used in the encryption.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| keySecret | string | The secret signing key that the cryptography should use. |
Return
( Altcha )
Current instance of the Altcha resource.
load
_altcha.load() : Altcha
Description
Loads the configurations related to the Altcha resource in the application.
Return
( Altcha )
Current instance of the Altcha resource.
secret
_altcha.secret() : string
Description
Obtain the secret code that is being used in the encryption.
Return
( string )
The secret code used in cryptography.
_altcha.secret(secret: string) : Altcha
Description
Define the secret code that will be used in the encryption.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| secret | string | The secret code that cryptography should use. |
Return
( Altcha )
Current instance of the Altcha resource.
setAlgorithm
_altcha.setAlgorithm(algorithm: string) : Altcha
Description
It defines the type of algorithm used in cryptography.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| algorithm | string | Code that identifies the encryption algorithm. |
Return
( Altcha )
Current instance of the Altcha resource.
setCheckExpires
_altcha.setCheckExpires(checkExpires: boolean) : Altcha
Description
Defines whether to check the expiration time or not.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| checkExpires | boolean | Whether it should check the expiration time or not. |
Return
( Altcha )
Current instance of the Altcha resource.
setCost
_altcha.setCost(cost: int) : Altcha
Description
Defines the number of iterations required to arrive at the derived key prefix.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| cost | int | The number of the brute force count. |
Return
( Altcha )
Current instance of the Altcha resource.
setCounter
_altcha.setCounter(counter: int) : Altcha
Description
Defines, in deterministic mode, the counter that is used to calculate the key prefix.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| counter | int | The counter value in deterministic mode. |
Return
( Altcha )
Current instance of the Altcha resource.
setEnabled
_altcha.setEnabled(enabled: boolean) : Altcha
Description
Defines whether Altcha is enabled.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| enabled | boolean | Whether it should be activated or not. |
Return
( Altcha )
Current instance of the Altcha resource.
setExpires
_altcha.setExpires(expires: int) : Altcha
Description
Set the expiration time in seconds.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| expires | int | The time limit in seconds for expiration. |
Return
( Altcha )
Current instance of the Altcha resource.
setKeySecret
_altcha.setKeySecret(keySecret: string) : Altcha
Description
Define the secret signing key that will be used in the encryption.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| keySecret | string | The secret signing key that the cryptography should use. |
Return
( Altcha )
Current instance of the Altcha resource.
setSecret
_altcha.setSecret(secret: string) : Altcha
Description
Define the secret code that will be used in the encryption.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| secret | string | The secret code that cryptography should use. |
Return
( Altcha )
Current instance of the Altcha resource.
verifySolution
_altcha.verifySolution(payload: string) : boolean
Description
Checks if the result of the challenge generated by the widget on the frontend is valid.
Attributes
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| payload | string |
Return
( boolean )
Whether the result of the challenge is valid or not.