Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module.exports = {
- database : 'mongodb://localhost:27017/my_first_project',
- secret : 'Mysecret'
- }
- const mongoose = require('mongoose');
- let AdminSchema = mongoose.Schema({
- name:{
- type: String,
- required: true
- },
- email:{
- type: String,
- required: true
- },
- username:{
- type: String,
- required: true
- },
- password:{
- type: String,
- required: true
- },
- created_on:{
- type: Date,
- default: Date.now
- },
- status:{
- type: Number,
- required: true,
- validate : {
- validator : Number.isInteger,
- message : '{VALUE} is not an integer value'
- }
- }
- });
- const Admin = module.exports = mongoose.model('User', AdminSchema);
- const LocalStorage = require('passport-local').Strategy;
- const User = require('../models/admin');
- const config = require('../config/database');
- const bcrypt = require('bcryptjs');
- module.exports = function(passport){
- //Local Strategy
- passport.use(new LocalStorage(function(username, password, done){
- //Check username
- let query = {username:username};
- console.log(query);
- User.findOne(query, function(err, user){
- console.log(user);
- if(err) throw err;
- if(!user)
- {
- return done(null, false, {message: 'No user found'});
- }
- //check password
- bcrypt.compare(password, user.password, function(err, isMatch){
- if(err) throw err;
- if(isMatch){
- return done(null, user);
- }else{
- return done(null, false, {message: 'Wrong password'});
- }
- });
- });
- }));
- passport.serializeUser(function(user, done) {
- done(null, user.id);
- });
- passport.deserializeUser(function(id, done) {
- User.findById(id, function(err, user) {
- done(err, user);
- });
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement