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:
Georg Reisinger 2018-10-26 14:34:34 +02:00
parent b171f1646c
commit 5e3c83707f
3 changed files with 10 additions and 43 deletions

View File

@ -1,5 +1,6 @@
var express = require('express');
var router = express.Router();
var session;
// GoogleOauth2.0
passport = require('passport'),
@ -18,11 +19,11 @@ router.use(cookieSession({
router.use(cookieParser());
router.get('/', (req, res) => {
if (req.session.token) {
res.redirect('/dash');
} else {
// if (req.session.passport.user.token) {
// res.redirect('/dash');
// } else {
res.redirect('/auth/google');
}
// }
});
router.get('/auth/google', passport.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile']
@ -30,7 +31,7 @@ router.get('/auth/google', passport.authenticate('google', {
router.get('/auth/google/callback',
passport.authenticate('google', {failureRedirect:'/'}),
(req, res) => {
req.session.token = req.user.token;
req.session.passport.user.token = req.user.token;
res.redirect('/dash');
}
);
@ -41,12 +42,10 @@ router.get('/logout', (req, res) => {
res.redirect('/');
});
/* GET home page. */
router.get('/dash', function(req, res, next) {
if (req.session.token) {
res.render(index);
console.log("Session: ", req.session.passport.user.token);
if (req.session.passport.user.token) {
res.render('index');
} else {
res.redirect('/auth/google');
}

View File

@ -7,5 +7,6 @@
<body>
<h1></h1>
<p>Welcome to </p>
<a href='http://localhost:7000/logout'>Logout</a>
</body>
</html>

View File

@ -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>