-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
50 lines (43 loc) · 1.48 KB
/
Copy pathapp.js
File metadata and controls
50 lines (43 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//Instanciando os módulos iniciais
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var app = express();
//Configurando Mongoose e Conexão com MongoDB
var mongoose = require('mongoose');
mongoose.Promise = global.Promise; //Fazer a conexão se tornar assincrona
mongoose.connect('mongodb://localhost/gdg-oauth', { useMongoClient: true })
.then(() => console.log('Conexão Realizada com Sucesso'))
.catch((err) => console.error(err));
//Configurando Passport para autenticação
var passport = require('passport');
var session = require('express-session');
var passportGoogle = require('./google');
app.use(session({
secret: 's3cr3t',
resave: true,
saveUninitialized: true
}));
app.use(passport.initialize());
app.use(passport.session());
//Rotas da Aplicação
app.get('/', function (req, res) {
res.send('GDG Oauth Google com NodeJS!');
})
app.get('/login/google',
passportGoogle.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/userinfo.email']
})
)
app.get('/login/google/callback',
passportGoogle.authenticate('google', { failureRedirect: '/login' }),
function (req, res) {
//console.log('user2: ' + JSON.stringify(req.user));
res.send('Seja bem vindo: '+req.user.doc.name);
}
)
//Iniciando Aplicação
app.listen(3000);
console.log('GDG Oauth Google Iniciado!');
module.exports = app;