http-auth
Advanced tools
Comparing version 4.1.5 to 4.1.6
{ | ||
"name": "http-auth", | ||
"description": "Node.js package for HTTP basic and digest access authentication.", | ||
"version": "4.1.5", | ||
"version": "4.1.6", | ||
"author": "Gevorg Harutyunyan (http://github.com/gevorg)", | ||
@@ -12,6 +12,6 @@ "maintainers": [ | ||
], | ||
"homepage": "https://github.com/http-auth/http-auth", | ||
"homepage": "https://github.com/gevorg/http-auth", | ||
"repository": { | ||
"type": "git", | ||
"url": "http://github.com/http-auth/http-auth.git" | ||
"url": "http://github.com/gevorg/http-auth.git" | ||
}, | ||
@@ -22,3 +22,3 @@ "main": "./src/http-auth.js", | ||
"type": "MIT", | ||
"url": "http://github.com/http-auth/http-auth/blob/master/LICENSE" | ||
"url": "http://github.com/gevorg/http-auth/blob/master/LICENSE" | ||
} | ||
@@ -28,3 +28,3 @@ ], | ||
"bugs": { | ||
"url": "http://github.com/http-auth/http-auth/issues" | ||
"url": "http://github.com/gevorg/http-auth/issues" | ||
}, | ||
@@ -31,0 +31,0 @@ "dependencies": { |
166
README.md
# http-auth | ||
[Node.js](http://nodejs.org/) package for HTTP basic and digest access authentication. | ||
[![build](https://github.com/http-auth/http-auth/workflows/build/badge.svg)](https://github.com/http-auth/http-auth/actions?query=workflow%3Abuild) | ||
[![build](https://github.com/gevorg/http-auth/workflows/build/badge.svg)](https://github.com/gevorg/http-auth/actions/workflows/build.yml) | ||
@@ -11,3 +11,3 @@ ## Installation | ||
```bash | ||
$ git clone git://github.com/http-auth/http-auth.git | ||
$ git clone git://github.com/gevorg/http-auth.git | ||
``` | ||
@@ -20,3 +20,4 @@ Via [npm](http://npmjs.org/): | ||
## Basic example | ||
## Usage | ||
```javascript | ||
@@ -44,114 +45,6 @@ // HTTP module | ||
}); | ||
``` | ||
## Custom authentication | ||
```javascript | ||
// HTTP module | ||
const http = require("http"); | ||
// Authentication module. | ||
const auth = require("http-auth"); | ||
const basic = auth.basic( | ||
{ | ||
realm: "Simon Area." | ||
}, | ||
(username, password, callback) => { | ||
// Custom authentication method. | ||
callback(username === "Tina" && password === "Bullock"); | ||
} | ||
); | ||
Please check [examples directory](./examples) for more. | ||
// 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/"); | ||
}); | ||
``` | ||
## [http-proxy](https://github.com/nodejitsu/node-http-proxy/) integration | ||
```javascript | ||
// HTTP proxy module. | ||
const http = require("http"); | ||
// eslint-disable-next-line node/no-unpublished-require | ||
const httpProxy = require("http-proxy"); | ||
// Authentication module. | ||
const auth = require("http-auth"); | ||
const basic = auth.basic({ | ||
realm: "Simon Area.", | ||
file: __dirname + "/../data/users.htpasswd", // gevorg:gpass, Sarah:testpass | ||
proxy: true | ||
}); | ||
// Create your proxy server. | ||
const proxy = httpProxy.createProxyServer({}); | ||
http | ||
.createServer( | ||
basic.check((req, res) => { | ||
proxy.web(req, res, { target: "http://127.0.0.1:1338" }); | ||
}) | ||
) | ||
.listen(1337); | ||
// Create your target server. | ||
http | ||
.createServer((req, res) => { | ||
res.end("Request successfully proxied!"); | ||
}) | ||
.listen(1338, () => { | ||
// Log URL. | ||
console.log("Server running at http://127.0.0.1:1338/"); | ||
}); | ||
// You can test proxy authentication using curl. | ||
// $ curl -x 127.0.0.1:1337 127.0.0.1:1337 -U gevorg | ||
``` | ||
## Events | ||
The auth middleware emits three types of events: **error**, **fail** and **success**. Each event passes the result object (the error in case of `fail`) and the http request `req` to the listener function. | ||
```javascript | ||
// 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 | ||
}); | ||
// Adding event listeners. | ||
basic.on("success", result => { | ||
console.log(`User authenticated: ${result.user}`); | ||
}); | ||
basic.on("fail", result => { | ||
console.log(`User authentication failed: ${result.user}`); | ||
}); | ||
basic.on("error", error => { | ||
console.log(`Authentication error: ${error.code + " - " + error.message}`); | ||
}); | ||
// 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/"); | ||
}); | ||
``` | ||
## Configurations | ||
@@ -183,6 +76,2 @@ | ||
## Issues | ||
You can find list of issues using **[this link](http://github.com/http-auth/http-auth/issues)**. | ||
## Questions | ||
@@ -192,47 +81,16 @@ | ||
## Requirements | ||
- **[Node.js](http://nodejs.org)** - Event-driven I/O server-side JavaScript environment based on V8. | ||
- **[npm](http://npmjs.org)** - Package manager. Installs, publishes and manages node programs. | ||
## Utilities | ||
- **[htpasswd](https://github.com/http-auth/htpasswd/)** - Node.js package for HTTP Basic Authentication password file utility. | ||
- **[htdigest](https://github.com/http-auth/htdigest/)** - Node.js package for HTTP Digest Authentication password file utility. | ||
- **[htpasswd](https://github.com/gevorg/htpasswd/)** - Node.js package for HTTP Basic Authentication password file utility. | ||
- **[htdigest](https://github.com/gevorg/htdigest/)** - Node.js package for HTTP Digest Authentication password file utility. | ||
## Integrations | ||
- **[http-auth-connect](https://github.com/http-auth/http-auth-connect)** - [Connect](https://github.com/senchalabs/connect) integration. | ||
- **[http-auth-passport](https://github.com/http-auth/http-auth-passport)** - [Passport.js](http://www.passportjs.org/) integration. | ||
- **[http-auth-koa](https://github.com/http-auth/http-auth-koa)** - [Koa framework](http://koajs.com/) integration. | ||
- **[http-auth-hapi](https://github.com/http-auth/http-auth-hapi)** - [Hapi framework](https://hapi.dev/) integration. | ||
- **[http-auth-connect](https://github.com/gevorg/http-auth-connect)** - [Connect](https://github.com/senchalabs/connect) integration. | ||
- **[http-auth-passport](https://github.com/gevorg/http-auth-passport)** - [Passport.js](http://www.passportjs.org/) integration. | ||
- **[http-auth-koa](https://github.com/gevorg/http-auth-koa)** - [Koa framework](http://koajs.com/) integration. | ||
- **[http-auth-hapi](https://github.com/gevorg/http-auth-hapi)** - [Hapi framework](https://hapi.dev/) integration. | ||
## Dependencies | ||
- **[uuid](https://github.com/broofa/node-uuid/)** - Generate RFC4122(v4) UUIDs, and also non-RFC compact ids. | ||
- **[apache-md5](https://github.com/http-auth/apache-md5)** - Node.js module for Apache style password encryption using md5. | ||
- **[apache-crypt](https://github.com/http-auth/apache-crypt)** - Node.js module for Apache style password encryption using crypt(3). | ||
- **[bcrypt.js](https://github.com/dcodeIO/bcrypt.js)** - Optimized bcrypt in plain JavaScript with zero dependencies. | ||
## License | ||
The MIT License (MIT) | ||
Copyright (c) Gevorg Harutyunyan | ||
Permission is hereby granted, free of charge, to any person obtaining a copy of | ||
this software and associated documentation files (the "Software"), to deal in | ||
the Software without restriction, including without limitation the rights to | ||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||
the Software, and to permit persons to whom the Software is furnished to do so, | ||
subject to the following conditions: | ||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
The MIT License (MIT) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
18068
91