GitXplorerGitXplorer
g

http-auth

public
368 stars
69 forks
3 issues

Commits

List of commits on branch master.
Verified
4158fa75f58de70fd44aa68876a8674725e0556e

Merge pull request #128 from gevorg/dependabot/npm_and_yarn/follow-redirects-1.15.4

ggevorg committed a year ago
Verified
567cf0394a592166c9a0e5163a990004c3675fc4

Bump follow-redirects from 1.14.8 to 1.15.4

ddependabot[bot] committed a year ago
Verified
ea5ea7a6d6df63c4aceb23c4231c19e824670e07

Merge pull request #126 from gevorg/dependabot/npm_and_yarn/word-wrap-1.2.4

ggevorg committed a year ago
Verified
0b90b07f67a617ffcc4180e4181cf9fe85385eb2

Bump word-wrap from 1.2.3 to 1.2.4

ddependabot[bot] committed 2 years ago
Unverified
dfda5c96f2e67929737b8b06b09e215b2f6ddc45

Fixed self issue.

ggevorg committed 2 years ago
Verified
dbcbefec0fb31a0d39848155335db1c700236c18

Update README.md

ggevorg committed 2 years ago

README

The README file for this repository.

http-auth

Node.js package for HTTP basic and digest access authentication.

build

Installation

Via git (or downloaded tarball):

$ git clone git@github.com:gevorg/http-auth.git

Via npm:

$ npm install http-auth

Usage

// HTTP module
const http = require("http");

// Authentication module.
const auth = require("http-auth");
const basic = auth.basic({
  realm: "Simon Area.",
  file: __dirname + "/../data/users.htpasswd" // gevorg:gpass, Sarah:testpass
});

// Creating new HTTP server.
http
  .createServer(
    basic.check((req, res) => {
      res.end(`Welcome to private area - ${req.user}!`);
    })
  )
  .listen(1337, () => {
    // Log URL.
    console.log("Server running at http://127.0.0.1:1337/");
  });

Please check examples directory for more.

Configurations

  • realm - Authentication realm, by default it is Users.
  • file - File where user details are stored.
    • Line format is {user:pass} or {user:passHash} for basic access.
    • Line format is {user:realm:passHash} for digest access.
    • Using a callback, it needs to return the same line format, example: file: () => 'adam:adam\neve:eve',
  • algorithm - Algorithm that will be used only for digest access authentication.
    • MD5 by default.
    • MD5-sess can be set.
  • qop - Quality of protection that is used only for digest access authentication.
    • auth is set by default.
    • none this option is disabling protection.
  • msg401 - Message for failed authentication 401 page.
  • msg407 - Message for failed authentication 407 page.
  • contentType - Content type for failed authentication page.
  • skipUser - Set this to true, if you don't want req.user to be filled with authentication info.
  • proxy - Set this to true, if you want to use it with http-proxy.

Running tests

It uses mocha, so just run following command in package directory:

$ npm test

Questions

You can also use stackoverflow to ask questions using http-auth tag.

Utilities

  • htpasswd - Node.js package for HTTP Basic Authentication password file utility.
  • htdigest - Node.js package for HTTP Digest Authentication password file utility.

Integrations

Please check this link for integration packages.

License

The MIT License (MIT)