diff options
| author | nanalelfe <nargiza.nosirova@mail.utoronto.ca> | 2016-07-21 06:29:31 +0000 |
|---|---|---|
| committer | nanalelfe <nargiza.nosirova@mail.utoronto.ca> | 2016-07-21 06:29:31 +0000 |
| commit | ee8e1a13b60a6adfdc691b2a9b57289188397641 (patch) | |
| tree | 096633208d9b8b6b59b67f4034a0cbb41e1f4c5d /node_modules/passport-local | |
| parent | 689df70a38ace2f88cfef6ab50f10dc546b48f00 (diff) | |
need pull
Diffstat (limited to 'node_modules/passport-local')
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 + +[](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/)> 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 + +[](http://travis-ci.org/jaredhanson/passport-strategy) +[](https://coveralls.io/r/jaredhanson/passport-strategy) +[](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[](http://travis-ci.org/jaredhanson/passport-strategy)\n[](https://coveralls.io/r/jaredhanson/passport-strategy)\n[](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" +} |
