Skip to content

Commit e8a2035

Browse files
author
azadorozhniy
committed
Moved auth handlers
1 parent 3d7ee94 commit e8a2035

File tree

10 files changed

+61
-20
lines changed

10 files changed

+61
-20
lines changed

src/auth/passport.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/handlers/auth/eyeem-callback.js

Whitespace-only changes.

src/handlers/auth/eyeem.js

Whitespace-only changes.

src/handlers/photos/list.js

Whitespace-only changes.

src/server/auth/authHepler.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = function(req, res, next) {
2+
if (req.isAuthenticated()) return next();
3+
res.redirect('/login');
4+
};

src/server/auth/index.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
var config = require('../config/config');
2+
var passport = require('passport');
3+
var EyeemStrategy = require('passport-eyeem').Strategy;
4+
var setup = require('./setup');
5+
6+
// analog of persistent storage
7+
var users = {};
8+
9+
module.exports = function setupPassport (app) {
10+
setup(app);
11+
12+
passport.serializeUser(function (user, done) {
13+
users[user.userId] = user;
14+
done(null, user.userId);
15+
});
16+
17+
passport.deserializeUser(function (id, done) {
18+
var user = users[id];
19+
done(null, user);
20+
});
21+
passport.use(new EyeemStrategy({
22+
clientID: config.auth.clientId,
23+
clientSecret: config.auth.clientSecret,
24+
callbackURL: config.auth.authCallbackUrl
25+
},
26+
function (accessToken, refreshToken, profile, done) {
27+
console.log('Access token', accessToken);
28+
profile.token = token;
29+
return done(null, profile);
30+
}
31+
));
32+
};

src/server/auth/setup.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
var session = require('express-session')
2+
, passport = require('passport');
3+
4+
// bootstrap the passport library to handle the authorization
5+
function setup(app) {
6+
//Setup session
7+
app.use(session({
8+
secret: 'omnomomomsecret',
9+
resave: true,
10+
saveUninitialized: true
11+
}));
12+
13+
app.use(passport.initialize());
14+
app.use(passport.session());
15+
}
16+
17+
module.exports = setup;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
var configFile = require('../../config/config.json');
1+
var configFile = require('../../../config/config.json');
22
// here we could manage envs (local, dev or prod)
33
module.exports = configFile;

src/server/handlers/auth/login.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = function (req, res) {
2+
res.render('login');
3+
};

src/server/handlers/auth/logout.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = function (req, res) {
2+
req.logout();
3+
res.redirect('/login');
4+
};

0 commit comments

Comments
 (0)