Skip to content

mxgit1090/passport-local-multifield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

passport-local-multifield

The enhancement of passport-local for multi-field form, more than two fields such as username and password.

Usage

Mapping the fields from req.body or req.query:

passport.use(new MultiFieldLocalStrategy(
    {
        fields: ['username', 'password', 'token'],
    },
    function(data, done) {
        User.findOne({ username: data.username }, function(err, user) {
            if (err) { return done(err); }
            else if (!user) { return done(null, false); }
            else if (!user.verifyPasswordAndToken(data.password, data.token)) { return done(null, false); }
            return done(null, user);
        });
    },
));

With mapping object:

passport.use(new MultiFieldLocalStrategy(
    {
        fields: {
            username: 'account',
            password: 'passwd',
            token: 'accessToken',
        },
    },
    function(data, done) {
        // ...
    },
));

Passing the request object into verify callback:

passport.use(new MultiFieldLocalStrategy(
    {
        fields: ['username', 'password', 'token'],
        passReqToCallback: true,
    },
    function(req, data, done) {
        // ...
    },
));

Authenicating request in Express:

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

About

The enhancement of passport-local for multi-field form

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published