passport-provided
v1.0.0
Published
Provided username and password authentication strategy for Passport.
Downloads
2
Maintainers
Readme
passport-provided
Passport strategy for authenticating with a provided 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-style middleware, including Express.
Install
$ npm install passport-provided
Usage
Configure Strategy
The provided 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 ProvidedStrategy(
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);
});
}
));
Available Options
This strategy takes an optional options hash before the function, e.g. new LocalStrategy({/* options */, callback})
.
The available parameters are:
username
- the username to attempt login with.password
- the password to attempt login with.session
- use sessions? (default: true)
passport.use(new ProvidedStrategy({
username: 'TGNThump',
password: 'passwd',
session: false
},
function(username, password, done) {
// ...
}
));
The verify callback can be supplied with the request
object by setting
the passReqToCallback
option to true, and changing callback arguments
accordingly.
passport.use(new ProvidedStrategy({
username: 'TGNThump',
username: 'passwd',
passReqToCallback: true,
session: false
},
function(req, username, password, done) {
// request object is now first argument
// ...
}
));
Authenticate Requests
Use passport.authenticate()
, specifying the 'local'
strategy, to
authenticate requests.
For example, as route middleware in an Express application:
app.post('/login',
passport.authenticate('local', { failureRedirect: '/login' }),
function(req, res) {
res.redirect('/');
});
Tests
$ npm install
$ npm test