Skip to content

Instantly share code, notes, and snippets.

View rkpattnaik780's full-sized avatar
🎯
Focusing

Ramakrishna Pattnaik rkpattnaik780

🎯
Focusing
View GitHub Profile
@rkpattnaik780
rkpattnaik780 / passport-setup.js
Created August 6, 2019 04:04
server/config/passport-setup.js
const passport = require("passport");
var GitHubStrategy = require("passport-github2").Strategy;
const User = require("../models/user-model");
// Passport takes that user id and stores it internally on
// req.session.passport which is passport’s internal
// mechanism to keep track of things.
passport.serializeUser((user, done) => {
done(null, user.id);
});
@rkpattnaik780
rkpattnaik780 / user-model.js
Created August 6, 2019 04:00
/server/models/user-model.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const userSchema = new Schema({
username: String,
name: String,
githubId: String,
image: String
});
@rkpattnaik780
rkpattnaik780 / app.js
Created August 6, 2019 03:53
Lines to be added in /server/app.js
var cookieSession = require('cookie-session');
var passport = require('passport');
const passportSetup = require('./config/passport-setup');
var authRouter = require('./routes/auth-routes');
app.use('/auth', authRouter);
var mongoose = require("mongoose");
@rkpattnaik780
rkpattnaik780 / auth-routes.js
Created August 6, 2019 03:48
/routes/auth-routes.js
var express = require('express');
var router = express.Router();
var passport = require('passport');
// To return the user data to the client
router.get("/check", (req, res) => {
console.log("user - " + req.user);
console.log(req.session.passport);
if (req.user === undefined) {
res.json({});