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:
parent
b171f1646c
commit
5e3c83707f
@ -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>
|
|
Loading…
x
Reference in New Issue
Block a user