Skip to content

hex7c0/basic-authentication

Repository files navigation

NPM version Linux Status Windows Status Dependency Status Coveralls

Basic authentication is method for a HTTP user agent to provide a user name and password.

Installation

Install through NPM

npm install basic-authentication

or

git clone git://github.com/hex7c0/basic-authentication.git

API

inside expressjs project like a middleware

var authentication = require('basic-authentication')();

var app = require('express')();
app.use(authentication);

inside expressjs project like a callback for certain route

var authentication = require('basic-authentication')();

var app = require('express')();
app.get('/', authentication, function(req, res) {

    res.send('ok');
});

inside routing like a function

var authentication = require('basic-authentication')({functions: true});

var app = require('express')();
app.get('/', function(req, res) {

    var user = authentication(req);
    if (user == 'foo') {
        res.send('ok');
    } else {
        res.send('ko');
    }
});

authentication(options)

options

  • user - String User for web basic access authentication (default "admin")
  • password - String Password for web basic access authentication (default "password")
  • file - String Path of htpasswd file (default "disabled")
  • hash - String Type of hash inside your htpasswd file (default "md5")
  • agent - String Browser User Agent for web authentication (default "all accepted")
  • realm - String Realm for web authentication (default "Authorization required")
  • ending - Boolean Flag for send res.end (response) to client after error or wrong password (not in "functions" mode) (default "true")
  • functions - Boolean Flag for using module like a function (default "false")
  • legacy - Boolean Flag for using module like a function that return an Object (default "false")
  • suppress - Boolean Suppress all routing error (default "false")

in functions mode, it return a Base64 String; otherwise, if some errors occurred, return an Empty String

in legacy mode, it return an Object {user, password}; otherwise, if some errors occurred, return an Empty Object

Examples

Take a look at my examples