.
This commit is contained in:
		
							
								
								
									
										20
									
								
								qwen/nodejs/node_modules/passport-local/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								qwen/nodejs/node_modules/passport-local/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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.
 | 
			
		||||
							
								
								
									
										73
									
								
								qwen/nodejs/node_modules/passport-local/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								qwen/nodejs/node_modules/passport-local/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
# passport-local
 | 
			
		||||
 | 
			
		||||
[](https://travis-ci.org/jaredhanson/passport-local)
 | 
			
		||||
[](https://coveralls.io/r/jaredhanson/passport-local)
 | 
			
		||||
[](https://codeclimate.com/github/jaredhanson/passport-local)
 | 
			
		||||
[](https://david-dm.org/jaredhanson/passport-local)
 | 
			
		||||
[](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/)>
 | 
			
		||||
							
								
								
									
										15
									
								
								qwen/nodejs/node_modules/passport-local/lib/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								qwen/nodejs/node_modules/passport-local/lib/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 */
 | 
			
		||||
var Strategy = require('./strategy');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Expose `Strategy` directly from package.
 | 
			
		||||
 */
 | 
			
		||||
exports = module.exports = Strategy;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Export constructors.
 | 
			
		||||
 */
 | 
			
		||||
exports.Strategy = Strategy;
 | 
			
		||||
							
								
								
									
										101
									
								
								qwen/nodejs/node_modules/passport-local/lib/strategy.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								qwen/nodejs/node_modules/passport-local/lib/strategy.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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;
 | 
			
		||||
							
								
								
									
										11
									
								
								qwen/nodejs/node_modules/passport-local/lib/utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								qwen/nodejs/node_modules/passport-local/lib/utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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;
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										47
									
								
								qwen/nodejs/node_modules/passport-local/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								qwen/nodejs/node_modules/passport-local/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
{
 | 
			
		||||
  "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": "node_modules/.bin/mocha --reporter spec --require test/bootstrap/node test/*.test.js"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user