Integration systems

sourav mandal
2 min readMay 16, 2022

Passport

"passport": "0.3.2",
"passport-local": "1.0.0",
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var mongoose = require('mongoose');
var User = mongoose.model('User');
var Student = mongoose.model('Student');
var Teacher = mongoose.model('Teacher');
passport.use(new LocalStrategy({
usernameField: 'user[email]',
passwordField: 'user[password]'
}, function(email, password, done) {
User.findOne({email: email}).then(function(user){
if(!user || !user.validPassword(password)){
return done(null, false, {errors: {'email or password': 'is invalid'}});
}
return done(null, user);
}).catch(done);
}));
passport.use("student",new LocalStrategy({
usernameField: 'student[email]',
passwordField: 'student[password]'
}, function(email, password, done) {
Student.findOne({email: email}).then(function(student){
if(!student || !student.validPassword(password)){
return done(null, false, {errors: {'email or password': 'is invalid'}});
}
return done(null, student);
}).catch(done);
}));
passport.use("student-phone",new LocalStrategy({
usernameField: 'student[phoneNumber]',
passwordField: 'student[phoneNumber]'
}, function(phone, password, done) {
Student.findOne({phone: phone}).then(function(student){
if(!student || !student.validPassword(password)){
return done(null, false, {errors: {'Otp is invalid': 'is invalid'}});
}
return done(null, student);
}).catch(done);
}));

JWT

npm i jsonwebtokenvar jwt = require('express-jwt');
var secret = require('../config').secret;
function getTokenFromHeader(req){
if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Token' ||
req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') {
return req.headers.authorization.split(' ')[1];
}
return null;
}
var auth = {
required: jwt({
secret: secret,
userProperty: 'payload',
getToken: getTokenFromHeader
}),
optional: jwt({
secret: secret,
userProperty: 'payload',
credentialsRequired: false,
getToken: getTokenFromHeader
})
};
module.exports = auth;

Mongodb

npm i mongoosemongoose = require('mongoose');require('dotenv').config();if(isProduction){
mongoose.connect(process.env.MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true });
} else {
mongoose.connect(process.env.MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true });
mongoose.set('debug', true);
}

Express form/file upload

var express = require("express");
var app = express();
let fs = require('fs');
var bodyParser = require('body-parser');
var multer = require('multer');
const fileUpload = require('express-fileupload');app.use(bodyParser.json());app.use(bodyParser.urlencoded({ extended: true }));app.use(fileUpload());app.post("/upload-file", function (req, res) { console.log(req.files.myfile.name);
console.log(req.body);
var file = req.files.myfile; var jsonData = file.data.toString();
res.send(jsonData);
});
app.post("/read-file", function (req, res) { var editPageData = fs.readFileSync('json_editor/editing_page.html',
{encoding:'utf8', flag:'r'});
editPageData = editPageData.replace("[json-data]",jsonData);
res.send(editPageData);
});
app.get("/get-file", function (req, res) {
res.sendFile(__dirname + "/file_page.html");
});
var server = app.listen(8081, function () {
var host = server.address().address;
var port = server.address().port;
console.log("Example app listening at http://%s:%s", host, port);
});

--

--

sourav mandal

just a coder who forgets things so makes blogs so he can remember later