Skip to content

Custom logic authentication strategy for Passport and Node.js.

License

Notifications You must be signed in to change notification settings

torfjor/passport-custom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

passport-custom

Build Coverage Status Quality Dependencies Tips

Passport strategy for authenticating with custom logic.

This module lets you authenticate using custom logic in your Node.js applications. It is based on passport-local module by Jared Hanson. By plugging into Passport, custom authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.

Install

$ npm install passport-custom

Usage

Configure Strategy

The custom authentication strategy authenticates users by custom logic of your choosing. The strategy requires a verify callback, which is where the custom logic goes and calls done providing a user. Note that, req is always passed as the first parameter to the verify callback.

Here is the pseudo code:

import passportCustom from 'passport-custom';
const CustomStrategy = passportCustom.Strategy;

passport.use('strategy-name', new CustomStrategy(
  function(req, callback) {
    // Do your custom user finding logic here, or set to false based on req object
    callback(null, user);
  }
));

And a basic example:

passport.use(new CustomStrategy(
  function(req, done) {
    User.findOne({
      username: req.body.username
    }, function (err, user) {
      done(err, user);
    });
  }
));

Authenticate Requests

Use passport.authenticate(), specifying the 'custom' strategy (or whatever you named the strategy upon registration), to authenticate requests.

For example, as route middleware in an Express application:

app.post('/login',
  passport.authenticate('custom', { failureRedirect: '/login' }),
  function(req, res) {
    res.redirect('/');
  }
);

Tests

$ npm install
$ npm test

Credits

License

The MIT License

Copyright (c) 2014-2015 Mike Bell

About

Custom logic authentication strategy for Passport and Node.js.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 67.6%
  • Makefile 32.4%