visualcaptcha

Node.js module for visualCaptcha. Still requires you to have the front-end companion.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
visualcaptcha
1720.1.35 years ago9 years agoMinified + gzip package size for visualcaptcha in KB

Readme

Build Status Coverage Status Codacy Code Climate
visualCaptcha-npm
Node.js NPM package for visualCaptcha's backend service

Installation with NPM

You need Node.js installed with npm.
npm install visualcaptcha

Run tests

Run next command to start mocha unit tests:
npm test

Usage

Initialization

On initialization visualCaptcha function requires req.session session object as first argument:
visualCaptcha = require( 'visualcaptcha' )( req.session, defaultImages, defaultAudios );
Where:
  • defaultImages is optional parameter. Defaults to the array inside ./images.json. The path is relative to ./images/
  • defaultAudios is optional parameter. Defaults to the array inside ./audios.json. The path is relative to ./audios/

visualCaptcha properties

  • session, JSON object — Object that will have a reference for the session object.
It will have .visualCaptcha.images, .visualCaptcha.audios, .visualCaptcha.validImageOption, and .visualCaptcha.validAudioOption.
  • imageOptions, array — All the image options.
These can be easily overwritten or extended using addImageOptions( ), or replaceImageOptions( ). By default, they're populated using the ./images.json file.
  • audioOptions, array — All the audio options.
These can be easily overwritten or extended using addImageOptions( ), or replaceImageOptions( ). By default, they're populated using the ./audios.json file.

visualCaptcha methods

  • generate: function( numberOfOptions ) — Generate a new valid visualCaptcha front-end data. numberOfOptions — is optional parameter for number of generated images, defaults to 5.
  • getFrontendData: function() — Get data to be used by the frontend.
  • getValidImageOption: function() — Get the current validImageOption.
  • getValidAudioOption: function() — Get the current validAudioOption.
  • validateImage: function( sentOption ) — Validate the sent image value with the validImageOption.
  • validateAudio: function( sentOption ) — Validate the sent audio value with the validAudioOption.
  • getImageOptions: function() — Return generated image options.
  • getImageOptionAtIndex: function(index) — Return generated image option at index.
  • getAudioOption: function() — Alias for getValidAudioOption.
  • getAllImageOptions: function() — Return all the image options.
  • getAllAudioOptions: function() — Return all the audio options.
  • streamAudio: function( response, fileType ) — Stream audio file. Parameters:
- `response` is a [response object](#response-object);
- `fileType` is audio filetype, defaults to `'mp3'`, can also be `'ogg'`.
  • streamImage: function( index, response, isRetina ) — Stream image file given an index in the session visualCaptcha images array. Parameters:
- `index` is index of the image in the session images array to send;
- `response` is a [response object](#response-object);
- `isRetina`, boolean, defaults to `false`.

response object

The response object used in .streamAudio(), and .streamImage() was thought of for Express' response object, so it needs:
  • .set()
  • .write()
  • .status()
  • .send()
  • .end()
  • .headerSent (boolean)

License

View the LICENSE file.