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