aboutsummaryrefslogtreecommitdiff
path: root/node_modules/passport-local
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/passport-local')
-rw-r--r--node_modules/passport-local/LICENSE20
-rw-r--r--node_modules/passport-local/README.md73
-rw-r--r--node_modules/passport-local/lib/index.js15
-rw-r--r--node_modules/passport-local/lib/strategy.js101
-rw-r--r--node_modules/passport-local/lib/utils.js11
-rw-r--r--node_modules/passport-local/node_modules/passport-strategy/.jshintrc20
-rw-r--r--node_modules/passport-local/node_modules/passport-strategy/.travis.yml15
-rw-r--r--node_modules/passport-local/node_modules/passport-strategy/LICENSE20
-rw-r--r--node_modules/passport-local/node_modules/passport-strategy/README.md61
-rw-r--r--node_modules/passport-local/node_modules/passport-strategy/lib/index.js15
-rw-r--r--node_modules/passport-local/node_modules/passport-strategy/lib/strategy.js28
-rw-r--r--node_modules/passport-local/node_modules/passport-strategy/package.json72
-rw-r--r--node_modules/passport-local/package.json69
13 files changed, 520 insertions, 0 deletions
diff --git a/node_modules/passport-local/LICENSE b/node_modules/passport-local/LICENSE
new file mode 100644
index 0000000..d8ebfcf
--- /dev/null
+++ b/node_modules/passport-local/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2011-2014 Jared Hanson
+
+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.
diff --git a/node_modules/passport-local/README.md b/node_modules/passport-local/README.md
new file mode 100644
index 0000000..7ab1b66
--- /dev/null
+++ b/node_modules/passport-local/README.md
@@ -0,0 +1,73 @@
+# passport-local
+
+[![Build](https://travis-ci.org/jaredhanson/passport-local.png)](https://travis-ci.org/jaredhanson/passport-local)
+[![Coverage](https://coveralls.io/repos/jaredhanson/passport-local/badge.png)](https://coveralls.io/r/jaredhanson/passport-local)
+[![Quality](https://codeclimate.com/github/jaredhanson/passport-local.png)](https://codeclimate.com/github/jaredhanson/passport-local)
+[![Dependencies](https://david-dm.org/jaredhanson/passport-local.png)](https://david-dm.org/jaredhanson/passport-local)
+[![Tips](http://img.shields.io/gittip/jaredhanson.png)](https://www.gittip.com/jaredhanson/)
+
+
+[Passport](http://passportjs.org/) strategy for authenticating with a username
+and password.
+
+This module lets you authenticate using a username and password in your Node.js
+applications. By plugging into Passport, local authentication can be easily and
+unobtrusively integrated into any application or framework that supports
+[Connect](http://www.senchalabs.org/connect/)-style middleware, including
+[Express](http://expressjs.com/).
+
+## Install
+
+ $ npm install passport-local
+
+## Usage
+
+#### Configure Strategy
+
+The local authentication strategy authenticates users using a username and
+password. The strategy requires a `verify` callback, which accepts these
+credentials and calls `done` providing a user.
+
+ passport.use(new LocalStrategy(
+ function(username, password, done) {
+ User.findOne({ username: username }, function (err, user) {
+ if (err) { return done(err); }
+ if (!user) { return done(null, false); }
+ if (!user.verifyPassword(password)) { return done(null, false); }
+ return done(null, user);
+ });
+ }
+ ));
+
+#### Authenticate Requests
+
+Use `passport.authenticate()`, specifying the `'local'` strategy, to
+authenticate requests.
+
+For example, as route middleware in an [Express](http://expressjs.com/)
+application:
+
+ app.post('/login',
+ passport.authenticate('local', { failureRedirect: '/login' }),
+ function(req, res) {
+ res.redirect('/');
+ });
+
+## Examples
+
+For complete, working examples, refer to the multiple [examples](https://github.com/jaredhanson/passport-local/tree/master/examples) included.
+
+## Tests
+
+ $ npm install
+ $ npm test
+
+## Credits
+
+ - [Jared Hanson](http://github.com/jaredhanson)
+
+## License
+
+[The MIT License](http://opensource.org/licenses/MIT)
+
+Copyright (c) 2011-2014 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>
diff --git a/node_modules/passport-local/lib/index.js b/node_modules/passport-local/lib/index.js
new file mode 100644
index 0000000..a6fdfa7
--- /dev/null
+++ b/node_modules/passport-local/lib/index.js
@@ -0,0 +1,15 @@
+/**
+ * Module dependencies.
+ */
+var Strategy = require('./strategy');
+
+
+/**
+ * Expose `Strategy` directly from package.
+ */
+exports = module.exports = Strategy;
+
+/**
+ * Export constructors.
+ */
+exports.Strategy = Strategy;
diff --git a/node_modules/passport-local/lib/strategy.js b/node_modules/passport-local/lib/strategy.js
new file mode 100644
index 0000000..e54e92a
--- /dev/null
+++ b/node_modules/passport-local/lib/strategy.js
@@ -0,0 +1,101 @@
+/**
+ * Module dependencies.
+ */
+var passport = require('passport-strategy')
+ , util = require('util')
+ , lookup = require('./utils').lookup;
+
+
+/**
+ * `Strategy` constructor.
+ *
+ * The local authentication strategy authenticates requests based on the
+ * credentials submitted through an HTML-based login form.
+ *
+ * Applications must supply a `verify` callback which accepts `username` and
+ * `password` credentials, and then calls the `done` callback supplying a
+ * `user`, which should be set to `false` if the credentials are not valid.
+ * If an exception occured, `err` should be set.
+ *
+ * Optionally, `options` can be used to change the fields in which the
+ * credentials are found.
+ *
+ * Options:
+ * - `usernameField` field name where the username is found, defaults to _username_
+ * - `passwordField` field name where the password is found, defaults to _password_
+ * - `passReqToCallback` when `true`, `req` is the first argument to the verify callback (default: `false`)
+ *
+ * Examples:
+ *
+ * passport.use(new LocalStrategy(
+ * function(username, password, done) {
+ * User.findOne({ username: username, password: password }, function (err, user) {
+ * done(err, user);
+ * });
+ * }
+ * ));
+ *
+ * @param {Object} options
+ * @param {Function} verify
+ * @api public
+ */
+function Strategy(options, verify) {
+ if (typeof options == 'function') {
+ verify = options;
+ options = {};
+ }
+ if (!verify) { throw new TypeError('LocalStrategy requires a verify callback'); }
+
+ this._usernameField = options.usernameField || 'username';
+ this._passwordField = options.passwordField || 'password';
+
+ passport.Strategy.call(this);
+ this.name = 'local';
+ this._verify = verify;
+ this._passReqToCallback = options.passReqToCallback;
+}
+
+/**
+ * Inherit from `passport.Strategy`.
+ */
+util.inherits(Strategy, passport.Strategy);
+
+/**
+ * Authenticate request based on the contents of a form submission.
+ *
+ * @param {Object} req
+ * @api protected
+ */
+Strategy.prototype.authenticate = function(req, options) {
+ options = options || {};
+ var username = lookup(req.body, this._usernameField) || lookup(req.query, this._usernameField);
+ var password = lookup(req.body, this._passwordField) || lookup(req.query, this._passwordField);
+
+ if (!username || !password) {
+ return this.fail({ message: options.badRequestMessage || 'Missing credentials' }, 400);
+ }
+
+ var self = this;
+
+ function verified(err, user, info) {
+ if (err) { return self.error(err); }
+ if (!user) { return self.fail(info); }
+ self.success(user, info);
+ }
+
+ try {
+ if (self._passReqToCallback) {
+ this._verify(req, username, password, verified);
+ } else {
+ this._verify(username, password, verified);
+ }
+ } catch (ex) {
+ return self.error(ex);
+ }
+};
+
+
+/**
+ * Expose `Strategy`.
+ */
+module.exports = Strategy;
diff --git a/node_modules/passport-local/lib/utils.js b/node_modules/passport-local/lib/utils.js
new file mode 100644
index 0000000..38f10a4
--- /dev/null
+++ b/node_modules/passport-local/lib/utils.js
@@ -0,0 +1,11 @@
+exports.lookup = function(obj, field) {
+ if (!obj) { return null; }
+ var chain = field.split(']').join('').split('[');
+ for (var i = 0, len = chain.length; i < len; i++) {
+ var prop = obj[chain[i]];
+ if (typeof(prop) === 'undefined') { return null; }
+ if (typeof(prop) !== 'object') { return prop; }
+ obj = prop;
+ }
+ return null;
+};
diff --git a/node_modules/passport-local/node_modules/passport-strategy/.jshintrc b/node_modules/passport-local/node_modules/passport-strategy/.jshintrc
new file mode 100644
index 0000000..a07354b
--- /dev/null
+++ b/node_modules/passport-local/node_modules/passport-strategy/.jshintrc
@@ -0,0 +1,20 @@
+{
+ "node": true,
+
+ "bitwise": true,
+ "camelcase": true,
+ "curly": true,
+ "forin": true,
+ "immed": true,
+ "latedef": true,
+ "newcap": true,
+ "noarg": true,
+ "noempty": true,
+ "nonew": true,
+ "quotmark": "single",
+ "undef": true,
+ "unused": true,
+ "trailing": true,
+
+ "laxcomma": true
+}
diff --git a/node_modules/passport-local/node_modules/passport-strategy/.travis.yml b/node_modules/passport-local/node_modules/passport-strategy/.travis.yml
new file mode 100644
index 0000000..45f8624
--- /dev/null
+++ b/node_modules/passport-local/node_modules/passport-strategy/.travis.yml
@@ -0,0 +1,15 @@
+language: "node_js"
+node_js:
+ - "0.4"
+ - "0.6"
+ - "0.8"
+ - "0.10"
+
+before_install:
+ - "npm install istanbul -g"
+ - "npm install coveralls -g"
+
+script: "make ci-travis"
+
+after_success:
+ - "make submit-coverage-to-coveralls"
diff --git a/node_modules/passport-local/node_modules/passport-strategy/LICENSE b/node_modules/passport-local/node_modules/passport-strategy/LICENSE
new file mode 100644
index 0000000..ec885b5
--- /dev/null
+++ b/node_modules/passport-local/node_modules/passport-strategy/LICENSE
@@ -0,0 +1,20 @@
+(The MIT License)
+
+Copyright (c) 2011-2013 Jared Hanson
+
+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.
diff --git a/node_modules/passport-local/node_modules/passport-strategy/README.md b/node_modules/passport-local/node_modules/passport-strategy/README.md
new file mode 100644
index 0000000..71de07f
--- /dev/null
+++ b/node_modules/passport-local/node_modules/passport-strategy/README.md
@@ -0,0 +1,61 @@
+# passport-strategy
+
+[![Build](https://travis-ci.org/jaredhanson/passport-strategy.png)](http://travis-ci.org/jaredhanson/passport-strategy)
+[![Coverage](https://coveralls.io/repos/jaredhanson/passport-strategy/badge.png)](https://coveralls.io/r/jaredhanson/passport-strategy)
+[![Dependencies](https://david-dm.org/jaredhanson/passport-strategy.png)](http://david-dm.org/jaredhanson/passport-strategy)
+
+
+An abstract class implementing [Passport](http://passportjs.org/)'s strategy
+API.
+
+## Install
+
+ $ npm install passport-strategy
+
+## Usage
+
+This module exports an abstract `Strategy` class that is intended to be
+subclassed when implementing concrete authentication strategies. Once
+implemented, such strategies can be used by applications that utilize Passport
+middleware for authentication.
+
+#### Subclass Strategy
+
+Create a new `CustomStrategy` constructor which inherits from `Strategy`:
+
+```javascript
+var util = require('util')
+ , Strategy = require('passport-strategy');
+
+function CustomStrategy(...) {
+ Strategy.call(this);
+}
+
+util.inherits(CustomStrategy, Strategy);
+```
+
+#### Implement Authentication
+
+Implement `autheticate()`, performing the necessary operations required by the
+authentication scheme or protocol being implemented.
+
+```javascript
+CustomStrategy.prototype.authenticate = function(req, options) {
+ // TODO: authenticate request
+}
+```
+
+## Tests
+
+ $ npm install
+ $ npm test
+
+## Credits
+
+ - [Jared Hanson](http://github.com/jaredhanson)
+
+## License
+
+[The MIT License](http://opensource.org/licenses/MIT)
+
+Copyright (c) 2011-2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>
diff --git a/node_modules/passport-local/node_modules/passport-strategy/lib/index.js b/node_modules/passport-local/node_modules/passport-strategy/lib/index.js
new file mode 100644
index 0000000..a6fdfa7
--- /dev/null
+++ b/node_modules/passport-local/node_modules/passport-strategy/lib/index.js
@@ -0,0 +1,15 @@
+/**
+ * Module dependencies.
+ */
+var Strategy = require('./strategy');
+
+
+/**
+ * Expose `Strategy` directly from package.
+ */
+exports = module.exports = Strategy;
+
+/**
+ * Export constructors.
+ */
+exports.Strategy = Strategy;
diff --git a/node_modules/passport-local/node_modules/passport-strategy/lib/strategy.js b/node_modules/passport-local/node_modules/passport-strategy/lib/strategy.js
new file mode 100644
index 0000000..5a7eb28
--- /dev/null
+++ b/node_modules/passport-local/node_modules/passport-strategy/lib/strategy.js
@@ -0,0 +1,28 @@
+/**
+ * Creates an instance of `Strategy`.
+ *
+ * @constructor
+ * @api public
+ */
+function Strategy() {
+}
+
+/**
+ * Authenticate request.
+ *
+ * This function must be overridden by subclasses. In abstract form, it always
+ * throws an exception.
+ *
+ * @param {Object} req The request to authenticate.
+ * @param {Object} [options] Strategy-specific options.
+ * @api public
+ */
+Strategy.prototype.authenticate = function(req, options) {
+ throw new Error('Strategy#authenticate must be overridden by subclass');
+};
+
+
+/**
+ * Expose `Strategy`.
+ */
+module.exports = Strategy;
diff --git a/node_modules/passport-local/node_modules/passport-strategy/package.json b/node_modules/passport-local/node_modules/passport-strategy/package.json
new file mode 100644
index 0000000..05b9708
--- /dev/null
+++ b/node_modules/passport-local/node_modules/passport-strategy/package.json
@@ -0,0 +1,72 @@
+{
+ "name": "passport-strategy",
+ "version": "1.0.0",
+ "description": "An abstract class implementing Passport's strategy API.",
+ "keywords": [
+ "passport",
+ "strategy"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/jaredhanson/passport-strategy.git"
+ },
+ "bugs": {
+ "url": "http://github.com/jaredhanson/passport-strategy/issues"
+ },
+ "author": {
+ "name": "Jared Hanson",
+ "email": "jaredhanson@gmail.com",
+ "url": "http://www.jaredhanson.net/"
+ },
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/MIT"
+ }
+ ],
+ "main": "./lib",
+ "dependencies": {},
+ "devDependencies": {
+ "mocha": "1.x.x",
+ "chai": "1.x.x"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ },
+ "scripts": {
+ "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js"
+ },
+ "testling": {
+ "browsers": [
+ "chrome/latest"
+ ],
+ "harness": "mocha",
+ "files": [
+ "test/bootstrap/testling.js",
+ "test/*.test.js"
+ ]
+ },
+ "readme": "# passport-strategy\n\n[![Build](https://travis-ci.org/jaredhanson/passport-strategy.png)](http://travis-ci.org/jaredhanson/passport-strategy)\n[![Coverage](https://coveralls.io/repos/jaredhanson/passport-strategy/badge.png)](https://coveralls.io/r/jaredhanson/passport-strategy)\n[![Dependencies](https://david-dm.org/jaredhanson/passport-strategy.png)](http://david-dm.org/jaredhanson/passport-strategy)\n\n\nAn abstract class implementing [Passport](http://passportjs.org/)'s strategy\nAPI.\n\n## Install\n\n $ npm install passport-strategy\n\n## Usage\n\nThis module exports an abstract `Strategy` class that is intended to be\nsubclassed when implementing concrete authentication strategies. Once\nimplemented, such strategies can be used by applications that utilize Passport\nmiddleware for authentication.\n\n#### Subclass Strategy\n\nCreate a new `CustomStrategy` constructor which inherits from `Strategy`:\n\n```javascript\nvar util = require('util')\n , Strategy = require('passport-strategy');\n\nfunction CustomStrategy(...) {\n Strategy.call(this);\n}\n\nutil.inherits(CustomStrategy, Strategy);\n```\n\n#### Implement Authentication\n\nImplement `autheticate()`, performing the necessary operations required by the\nauthentication scheme or protocol being implemented.\n\n```javascript\nCustomStrategy.prototype.authenticate = function(req, options) {\n // TODO: authenticate request\n}\n```\n\n## Tests\n\n $ npm install\n $ npm test\n\n## Credits\n\n - [Jared Hanson](http://github.com/jaredhanson)\n\n## License\n\n[The MIT License](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2011-2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>\n",
+ "readmeFilename": "README.md",
+ "_id": "passport-strategy@1.0.0",
+ "dist": {
+ "shasum": "b5539aa8fc225a3d1ad179476ddf236b440f52e4",
+ "tarball": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz"
+ },
+ "_from": "passport-strategy@>=1.0.0 <2.0.0",
+ "_npmVersion": "1.2.25",
+ "_npmUser": {
+ "name": "jaredhanson",
+ "email": "jaredhanson@gmail.com"
+ },
+ "maintainers": [
+ {
+ "name": "jaredhanson",
+ "email": "jaredhanson@gmail.com"
+ }
+ ],
+ "directories": {},
+ "_shasum": "b5539aa8fc225a3d1ad179476ddf236b440f52e4",
+ "_resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
+ "homepage": "https://github.com/jaredhanson/passport-strategy#readme"
+}
diff --git a/node_modules/passport-local/package.json b/node_modules/passport-local/package.json
new file mode 100644
index 0000000..1cdabf8
--- /dev/null
+++ b/node_modules/passport-local/package.json
@@ -0,0 +1,69 @@
+{
+ "name": "passport-local",
+ "version": "1.0.0",
+ "description": "Local username and password authentication strategy for Passport.",
+ "keywords": [
+ "passport",
+ "local",
+ "auth",
+ "authn",
+ "authentication",
+ "username",
+ "password"
+ ],
+ "author": {
+ "name": "Jared Hanson",
+ "email": "jaredhanson@gmail.com",
+ "url": "http://www.jaredhanson.net/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/jaredhanson/passport-local.git"
+ },
+ "bugs": {
+ "url": "http://github.com/jaredhanson/passport-local/issues"
+ },
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/MIT"
+ }
+ ],
+ "main": "./lib",
+ "dependencies": {
+ "passport-strategy": "1.x.x"
+ },
+ "devDependencies": {
+ "mocha": "1.x.x",
+ "chai": "1.x.x",
+ "chai-passport-strategy": "0.1.x"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ },
+ "scripts": {
+ "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js"
+ },
+ "_id": "passport-local@1.0.0",
+ "dist": {
+ "shasum": "1fe63268c92e75606626437e3b906662c15ba6ee",
+ "tarball": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz"
+ },
+ "_from": "passport-local@latest",
+ "_npmVersion": "1.2.25",
+ "_npmUser": {
+ "name": "jaredhanson",
+ "email": "jaredhanson@gmail.com"
+ },
+ "maintainers": [
+ {
+ "name": "jaredhanson",
+ "email": "jaredhanson@gmail.com"
+ }
+ ],
+ "directories": {},
+ "_shasum": "1fe63268c92e75606626437e3b906662c15ba6ee",
+ "_resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz",
+ "readme": "ERROR: No README data found!",
+ "homepage": "https://github.com/jaredhanson/passport-local#readme"
+}