Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require("express");
- const path = require("path");
- const exphbs = require("express-handlebars");
- const bodyParser = require("body-parser");
- const mongoose = require("mongoose");
- const passport = require("passport");
- const Cpassport=require('./config/Cpassport');
- const cookieParser = require("cookie-parser");
- const session = require("express-session");
- const methodOverride = require("method-override");
- const flash = require("express-flash");
- const mailer = require("express-mailer");
- //Handlebars helpers
- const {
- truncate,
- stripTags,
- formatDate,
- select,
- editIcon
- } = require("./helpers/hbs");
- var googleS = new passport.Passport();
- var localS = new passport.Passport();
- const app = express();
- //set static folder
- app.use(express.static(path.join(__dirname, "public")));
- //load keys
- const keys = require("./config/keys");
- //Map global Promises
- mongoose.Promise = global.Promise;
- //Mongoose Connection
- mongoose
- .connect(keys.mongoURI)
- .then(() => console.log("MongoDB Connected"))
- .catch(err => console.log(err));
- //load user model
- require("./models/User");
- //story model
- require("./models/Story");
- //feedback model
- require("./models/Feedback");
- //local strategy model
- require("./models/CUser");
- //session
- app.use(cookieParser());
- app.use(
- session({
- secret: "secret",
- resave: true,
- saveUninitialized: true
- })
- );
- //passport config
- require("./config/passport")(googleS);
- require("./config/Cpassport")(localS);
- //Passport Middleware
- app.use(passport.initialize());
- app.use(passport.session());
- //flash middleware
- app.use(flash());
- //set global variables
- app.use((req, res, next) => {
- res.locals.success_msg = req.flash("success_msg");
- res.locals.error_msg = req.flash("error_msg");
- res.locals.error = req.flash("error");
- res.locals.user = req.user || null;
- // res.locals.userr = req.userr || null;
- console.log("this is requested user");
- console.log(res.locals.user);
- // console.log(res.locals.userr);
- next();
- });
- // Load Routes
- const auth = require("./routes/auth");
- const index = require("./routes/index");
- const stories = require("./routes/stories");
- const mailOptions = require("./helper/mailer");
- //body-parser middleware
- app.use(bodyParser.urlencoded({ extended: false }));
- app.use(bodyParser.json());
- //method overriding body parser
- app.use(methodOverride("_method"));
- //mailer
- mailer.extend(app, {
- from: "Belle Solutions",
- host: "smtp.gmail.com",
- secureConnection: true,
- port: 465,
- transportMethod: "SMTP",
- auth: {
- user: keys.email,
- pass: keys.pass
- }
- });
- //handlebars
- app.engine(
- "handlebars",
- exphbs({
- helpers: {
- truncate: truncate,
- stripTags: stripTags,
- formatDate: formatDate,
- select: select,
- editIcon: editIcon
- },
- defaultLayout: "main"
- })
- );
- // app.get('*' , function(req ,res ,next){
- // res.locals.user=req.user || null;
- // console.log(req.user);
- // console.log('printing user');
- // console.log(res.locals.user);
- // next();
- // })
- app.set("view engine", "handlebars");
- //use routes
- app.use("/auth", auth);
- app.use("/", index);
- app.use("/stories", stories);
- const port = process.env.PORT || 5000;
- app.listen(port, () => {
- console.log(`Server started on port ${port}`);
- });
- const GoogleStrategy=require('passport-google-oauth20').Strategy;
- const mongoose = require('mongoose');
- const keys = require('./keys');
- const passport = require('passport');
- const User =mongoose.model('users');
- module.exports=function(googleS){
- googleS.use(
- new GoogleStrategy({
- clientID:keys.googleClientID,
- clientSecret:keys.googleClientSecret,
- callbackURL:'/auth/google/callback',
- proxy:true
- },(accessToken,refreshToken,profile,done)=>{
- // console.log("This is access token......................................................");
- // console.log(accessToken);
- // console.log("This is profile...............................");
- // console.log(profile);
- const image = profile.photos[0].value.substring(0, profile.photos[0].value.indexOf('?'));
- const newUser = {
- googleID:profile.id,
- firstName:profile.name.givenName,
- lastName:profile.name.familyName,
- email:profile.emails[0].value,
- image:image
- }
- //check for existing model
- User.findOne({
- googleID:profile.id
- }).then( user=>{
- if(user){
- done(null,user);
- }else{
- new User(newUser)
- .save()
- .then(user => done(null,user));
- }
- } )
- })
- )
- passport.serializeUser( (user,done)=>{
- console.log("in serialize of oauth.............")
- done(null,user.id);
- } );
- passport.deserializeUser( (id,done)=>{
- console.log("in deserialize of oauth.....................")
- User.findById(id).then(user =>done(null,user));
- } );
- }
- const LocalStrategy=require('passport-local').Strategy;
- const mongoose = require('mongoose');
- const bcrypt=require('bcryptjs');
- const passport=require('passport');
- //const User =require('../models/CUser')
- //Load user Model
- const Strategy =require('../app');
- var local=Strategy.localS;
- require('../models/CUser');
- const CUser = mongoose.model('CUsers');
- module.exports=function(localC){
- console.log(localC)
- //local Strategy
- console.log("inside passport...........");
- console.log(local);
- localC.use(
- new LocalStrategy({
- usernameField:'email'},(email,password,done)=>{
- //match usernaame
- console.log(email);
- console.log(password)
- let query ={email:email};
- CUser.findOne(query , function(err,user){
- console.log("Before error")
- if(err) throw err;
- if(!user){
- return done(null,false,{message:'No user Found'});
- }
- bcrypt.compare(password,user.password,function(err,isMatch){
- console.log("In compare function......")
- if(err) throw err;
- if(isMatch){
- console.log("here......")
- console.log(user)
- return done(null,user);
- }else{
- return done(null,false,{message:'Wrong password'})
- }
- })
- })
- }))
- passport.serializeUser(function(user, done) {
- console.log("in serialize of local strategy............")
- done(null, user.id);
- });
- passport.deserializeUser(function(id, done) {
- console.log("in deserialize og local strategy........")
- CUser.findById(id, function(err, user) {
- done(err, user);
- });
- });
- }
Add Comment
Please, Sign In to add comment