PASSPORT

 PASSPORT IS A LIBRARY THAT HELPS IN AUTHENTICATION .

TO INSTALL: npm i passport

                         npm i passport-local

                        npm i passport-local-mongoose

USING PASSPORT , AUTHENTICATION IS MADE EASY, IT CAN BE IMPLENTED USING  GMAIL, FACEBOOK,GITHUB..ETC

USER MODEL:

WE CAN DEFINE OUR USERNAME AS PER OUR WISH.

PASSPORT LOCAL MONGOOSE WILL ADD A USERNAME, HASHED PASSWORD, SALT VALUE.

IN MAJOR PROJECT,

USER.JS

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const passportLocalMessage = require("passport-local-mongoose");

const userSchema = new Schema({
  email: {
    type: String,
    required: true,
  },
});

userSchema.plugin(passportLocalMessage);
module.exports = mongoose.model("User", userSchema);

APP.JS

const flash = require("connect-flash");
const passport = require("passport");
const LocalStrategy = require("passport-local");
const User = require("./models/user.js");


app.use(sessions(sessionOptions));
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());

app.use((req, res, next) => {
  res.locals.success = req.flash("success");
  res.locals.error = req.flash("error");
  next();
});

app.get("/demouser", async (req, res) => {
  let fakeuser = new User({
    email: "abc@gmail.com",
    username: "abhiiii",
  });


Comments

Popular posts from this blog

DATABASE RELATIONSHIPS

ROUTING (GET /) home route

Query Strings