Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module.exports = function (app, passport) {
- // show the index page
- app.get('/', function (req, res) {
- res.render('index.ejs');
- });
- // USERSPAGE SECTION =========================
- app.get('/userspage', isLoggedIn, function (req, res) {
- res.render('userspage.ejs', {
- user: req.user,
- message: req.flash('進入使用者操作畫面')
- });
- });
- // LOGOUT SECTION==============================
- app.get('/logout', function (req, res) {
- req.logout();
- res.redirect('/index.ejs');
- });
- // LOGIN ===============================
- // show the login form
- app.get('/login', function (req, res) {
- res.render('login.ejs', {
- message: req.flash('登入訊息')
- });
- });
- // process the login form
- app.post('/login', passport.authenticate('local-login', {
- successRedirect: '/userspage',
- failureRedirect: '/login',
- failureFlash: true
- }));
- // SIGNUP =================================
- // show the signup form
- app.get('/signup', function (req, res) {
- res.render('signup.ejs', {
- message: req.flash('註冊訊息')
- });
- });
- // process the signup form
- app.post('/signup', passport.authenticate('local-signup', {
- successRedirect: '/userspage',
- failureRedirect: '/signup',
- failureFlash: true
- }));
- // facebook -------------------------------
- app.get('/auth/facebook', passport.authenticate('facebook', {
- scope: 'email'
- }));
- app.get('/auth/facebook/callback',
- passport.authenticate('facebook', {
- successRedirect: '/userspage',
- failureRedirect: '/signup'
- }));
- // twitter --------------------------------
- app.get('/auth/twitter', passport.authenticate('twitter', {
- scope: 'email'
- }));
- app.get('/auth/twitter/callback',
- passport.authenticate('twitter', {
- successRedirect: '/userspage',
- failureRedirect: '/signup'
- }));
- // google ---------------------------------
- app.get('/auth/google', passport.authenticate('google', {
- scope: ['userspage', 'email']
- }));
- app.get('/auth/google/callback',
- passport.authenticate('google', {
- successRedirect: '/userspage',
- failureRedirect: '/signup'
- }));
- // AUTH -----------------------------------
- // locally --------------------------------
- app.get('/connect/local', function (req, res) {
- res.render('connect-local.ejs', {
- message: req.flash('登入訊息')
- });
- });
- app.post('/connect/local', passport.authenticate('local-signup', {
- successRedirect: '/userspage',
- failureRedirect: '/signup',
- failureFlash: true
- }));
- // facebook -------------------------------
- app.get('/connect/facebook', passport.authorize('facebook', {
- scope: 'email'
- }));
- app.get('/connect/facebook/callback',
- passport.authorize('facebook', {
- successRedirect: '/userspage',
- failureRedirect: '/signup'
- }));
- // twitter --------------------------------
- app.get('/connect/twitter', passport.authorize('twitter', {
- scope: 'email'
- }));
- app.get('/connect/twitter/callback',
- passport.authorize('twitter', {
- successRedirect: '/userspage',
- failureRedirect: '/signup'
- }));
- // google ---------------------------------
- app.get('/connect/google', passport.authorize('google', {
- scope: ['userspage', 'email']
- }));
- app.get('/connect/google/callback',
- passport.authorize('google', {
- successRedirect: '/userspage',
- failureRedirect: '/signup'
- }));
- // 連結用戶===================================
- // local -----------------------------------
- app.get('/unlink/local', isLoggedIn, function (req, res) {
- var user = req.user;
- user.local.email = undefined;
- user.local.password = undefined;
- user.local.username = undefined;
- user.local.birthday = undefined;
- user.local.sex = undefined;
- user.save(function (err) {
- res.redirect('/userspage');
- });
- });
- // facebook -------------------------------
- app.get('/unlink/facebook', isLoggedIn, function (req, res) {
- var user = req.user;
- user.facebook.token = undefined;
- user.save(function (err) {
- res.redirect('/userspage');
- });
- });
- // // twitter --------------------------------
- app.get('/unlink/twitter', isLoggedIn, function (req, res) {
- var user = req.user;
- user.twitter.token = undefined;
- user.save(function (err) {
- res.redirect('/userspage');
- });
- });
- // google ---------------------------------
- app.get('/unlink/google', isLoggedIn, function (req, res) {
- var user = req.user;
- user.google.token = undefined;
- user.save(function (err) {
- res.redirect('/userspage');
- });
- });
- };
- function isLoggedIn(req, res, next) {
- if (req.isAuthenticated())
- return next();
- res.redirect('/');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement