GoogleOauth2.0 Working
GoogleOauth2.0 Funktioniert. Beim Aufrufen von http://localhost:7000/ wird direkt die Google Login Seite geöffnet. Es wird dann von der callback route '/auth/google/callback' die route '/dash' geöffnet. Auf der Route '/dash' wird unsere index Seite der app entwickelt
This commit is contained in:
		@@ -1,5 +1,6 @@
 | 
				
			|||||||
var express = require('express');
 | 
					var express = require('express');
 | 
				
			||||||
var router = express.Router();
 | 
					var router = express.Router();
 | 
				
			||||||
 | 
					var session;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GoogleOauth2.0
 | 
					// GoogleOauth2.0
 | 
				
			||||||
passport = require('passport'),
 | 
					passport = require('passport'),
 | 
				
			||||||
@@ -18,11 +19,11 @@ router.use(cookieSession({
 | 
				
			|||||||
router.use(cookieParser());
 | 
					router.use(cookieParser());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
router.get('/', (req, res) => {
 | 
					router.get('/', (req, res) => {
 | 
				
			||||||
    if (req.session.token) {
 | 
					    // if (req.session.passport.user.token) {
 | 
				
			||||||
      res.redirect('/dash');
 | 
					    //   res.redirect('/dash');
 | 
				
			||||||
    } else {
 | 
					    // } else {
 | 
				
			||||||
      res.redirect('/auth/google');
 | 
					      res.redirect('/auth/google');
 | 
				
			||||||
    }
 | 
					    // }
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
router.get('/auth/google', passport.authenticate('google', {
 | 
					router.get('/auth/google', passport.authenticate('google', {
 | 
				
			||||||
    scope: ['https://www.googleapis.com/auth/userinfo.profile']
 | 
					    scope: ['https://www.googleapis.com/auth/userinfo.profile']
 | 
				
			||||||
@@ -30,7 +31,7 @@ router.get('/auth/google', passport.authenticate('google', {
 | 
				
			|||||||
router.get('/auth/google/callback',
 | 
					router.get('/auth/google/callback',
 | 
				
			||||||
  passport.authenticate('google', {failureRedirect:'/'}),
 | 
					  passport.authenticate('google', {failureRedirect:'/'}),
 | 
				
			||||||
  (req, res) => {
 | 
					  (req, res) => {
 | 
				
			||||||
    req.session.token = req.user.token;
 | 
					    req.session.passport.user.token = req.user.token;
 | 
				
			||||||
    res.redirect('/dash');
 | 
					    res.redirect('/dash');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
@@ -41,12 +42,10 @@ router.get('/logout', (req, res) => {
 | 
				
			|||||||
  res.redirect('/');
 | 
					  res.redirect('/');
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* GET home page. */
 | 
					 | 
				
			||||||
router.get('/dash', function(req, res, next) {
 | 
					router.get('/dash', function(req, res, next) {
 | 
				
			||||||
  if (req.session.token) {
 | 
					  console.log("Session: ", req.session.passport.user.token);
 | 
				
			||||||
    res.render(index);
 | 
					  if (req.session.passport.user.token) {
 | 
				
			||||||
 | 
					    res.render('index');
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    res.redirect('/auth/google');
 | 
					    res.redirect('/auth/google');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,5 +7,6 @@
 | 
				
			|||||||
  <body>
 | 
					  <body>
 | 
				
			||||||
    <h1></h1>
 | 
					    <h1></h1>
 | 
				
			||||||
    <p>Welcome to </p>
 | 
					    <p>Welcome to </p>
 | 
				
			||||||
 | 
					    <a href='http://localhost:7000/logout'>Logout</a>
 | 
				
			||||||
  </body>
 | 
					  </body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,33 +0,0 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="de">
 | 
					 | 
				
			||||||
<head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8">
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
					 | 
				
			||||||
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
 | 
					 | 
				
			||||||
    <title>SmartShopper</title>
 | 
					 | 
				
			||||||
    <!-- Material Design Lite https://getmdl.io/started/index.html -->
 | 
					 | 
				
			||||||
    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
 | 
					 | 
				
			||||||
    <link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.indigo-pink.min.css">
 | 
					 | 
				
			||||||
    <script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
 | 
					 | 
				
			||||||
</head>
 | 
					 | 
				
			||||||
<body>
 | 
					 | 
				
			||||||
    <div class="demo-card-wide mdl-card mdl-shadow--2dp">
 | 
					 | 
				
			||||||
        <div class="mdl-card__title">
 | 
					 | 
				
			||||||
          <h2 class="mdl-card__title-text">Welcome</h2>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <div class="mdl-card__supporting-text">
 | 
					 | 
				
			||||||
          Bitte Loggen sie sich ein um ihre Einkaufsliste zu sehen
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <div class="mdl-card__actions mdl-card--border">
 | 
					 | 
				
			||||||
          <a class="mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect">
 | 
					 | 
				
			||||||
            Login
 | 
					 | 
				
			||||||
          </a>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
        <div class="mdl-card__menu">
 | 
					 | 
				
			||||||
          <button class="mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect">
 | 
					 | 
				
			||||||
            <i class="material-icons">share</i>
 | 
					 | 
				
			||||||
          </button>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
      </div>
 | 
					 | 
				
			||||||
</body>
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user