GoogleOauth2.0 First implementation
First try for GoogleOauth2.0
This commit is contained in:
		@@ -1,9 +1,55 @@
 | 
			
		||||
var express = require('express');
 | 
			
		||||
var router = express.Router();
 | 
			
		||||
 | 
			
		||||
// GoogleOauth2.0
 | 
			
		||||
passport = require('passport'),
 | 
			
		||||
auth = require('../public/login/auth');
 | 
			
		||||
auth(passport);
 | 
			
		||||
router.use(passport.initialize());
 | 
			
		||||
 | 
			
		||||
cookieParser = require('cookie-parser'),
 | 
			
		||||
cookieSession = require('cookie-session');
 | 
			
		||||
 | 
			
		||||
router.use(cookieSession({
 | 
			
		||||
  name: 'session',
 | 
			
		||||
  keys: ['aoisdzflkudheowe777elkjv']
 | 
			
		||||
}));
 | 
			
		||||
 | 
			
		||||
router.use(cookieParser());
 | 
			
		||||
 | 
			
		||||
router.get('/', (req, res) => {
 | 
			
		||||
    if (req.session.token) {
 | 
			
		||||
      res.redirect('/dash');
 | 
			
		||||
    } else {
 | 
			
		||||
      res.redirect('/auth/google');
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
router.get('/auth/google', passport.authenticate('google', {
 | 
			
		||||
    scope: ['https://www.googleapis.com/auth/userinfo.profile']
 | 
			
		||||
}));
 | 
			
		||||
router.get('/auth/google/callback',
 | 
			
		||||
  passport.authenticate('google', {failureRedirect:'/'}),
 | 
			
		||||
  (req, res) => {
 | 
			
		||||
    req.session.token = req.user.token;
 | 
			
		||||
    res.redirect('/dash');
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
router.get('/logout', (req, res) => {
 | 
			
		||||
  req.logout();
 | 
			
		||||
  req.session = null;
 | 
			
		||||
  res.redirect('/');
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* GET home page. */
 | 
			
		||||
router.get('/', function(req, res, next) {
 | 
			
		||||
  res.render('index', { title: 'Express' });
 | 
			
		||||
router.get('/dash', function(req, res, next) {
 | 
			
		||||
  if (req.session.token) {
 | 
			
		||||
    res.render(index);
 | 
			
		||||
  } else {
 | 
			
		||||
    res.redirect('/auth/google');
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
module.exports = router;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user