Thursday 20 April 2017

passport local token based authentication is getting Unautherised for signup and login in nodejs

I am using passport local token based authentication for login and signup in my node application. We are using multiple passport authentication method for different modules in the same application. while executing respone getting for passport local is "Unautherized" for signup and login for every request, but user details are storing the database.

users.js:
var express = require('express');
    var router = express.Router();
    var passport = require('passport');
    var User = require('../models/parent');
    //var User=require('../models/new');
    var Verify = require('./parentverify');
        router.post('/register',function(req,res,next){
                    User.register(new User({
                            username: req.body.username,
                            email: req.body.email,
                            phonenumber: req.body.phonenumber
                        }),
                        req.body.password,
                        function(err, user) {
                            passport.authenticate('local')(req, res, function() {
                                return res.status(200).json({
                                    status: 'Registration Successful!'
                                });
                            });
                        });
                }
            });

app.js:

var express = require('express');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var session = require('passport-session');

mongoose.connect(config.mongoUrl);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
    // we're connected!
    console.log("Connected correctly to server");
});

var activityprovider = require('./routes/activityprovider');
var trainerlogin = require('./routes/trainerlogin');
var parent = require('./routes/parent');
var contacts=require('./routes/contactRouter');
var student=require('./routes/studentRouter');
var batch=require('./routes/batchRouter');
var venue=require('./routes/venueRouter');
var trainerrouter = require('./routes/trainerrouter.js');
//var report=require('./routes/reportRouter');
//var attendance=require('./routes/attendanceRouter');

var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());

var activityProvider= require('./models/activityprovider');
var trainerLogin = require('./models/trainerlogin');
var parents = require('./models/parent');

app.use(passport.initialize());
app.use(passport.local());
app.use(flash()); 
// passport config
/*var Activityprovider= require('./models/new');
var trainerLogin= require('./models/new');
var parents= require('./models/new');*/

passport.use(new LocalStrategy( activityProvider.authenticate(),trainerLogin.authenticate(), parents.authenticate()));
passport.serializeUser( activityProvider.serializeUser(),trainerLogin.serializeUser(),parents.serializeUser());
passport.deserializeUser( activityProvider.deserializeUser(),trainerLogin.deserializeUser(),parents.deserializeUser());

app.use('/activityprovider',activityprovider);
app.use('/trainerlogin',trainerlogin);
app.use('/parent',parent);
app.use('/contacts',contacts);
app.use('/student',student);
app.use('/batch',batch);
app.use('/venue',venue);
app.use('')
//app.use('/report',report);
app.use('/trainer',trainerrouter);
//app.use('/attendance',attendance);
app.use(express.static(path.join(__dirname, 'public')));
// catch 404 and forward to error handler
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

I have written differnt verify.js for three different modules(Activety Provider, Parent, trainer).

please review my code tell me how to resolve this issue



via saiibitta

No comments:

Post a Comment