Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
cdelaorden committed Oct 7, 2015
2 parents c1670b3 + ca16e40 commit 8bb1560
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 0 deletions.
1 change: 1 addition & 0 deletions ejercicios/blog/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"express": "*",
"hiredis": "*",
"jade": "*",
"lodash": "^3.10.1",
"method-override": "*",
"node-uuid": "^1.4.3",
"q": "*",
Expand Down
60 changes: 60 additions & 0 deletions tema3/blogAuth/simpleauth.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
var _ = require("lodash")

var strategy = {
serializeUser: function(user) {
},
deserializeUser: function(userId, cb) {
},
checkCredentials: function(username, pass, done) {
},
loginRoute: "/login.html"
}

var cookieName = 'user';

exports.setStrategy = function(customStrategy) {
strategy = _.extend({}, strategy, customStrategy)
}

exports.createSession = function(options) {
var defaultConfig = {
username: "username",
password: "password",
redirect: '/secret',
failRedirect: '/'
}
config = _.extend({}, defaultConfig, options);
return function(req, res, next) {
var username = req.body[config.username],
password = req.body[config.password];

strategy.checkCredentials(username, password, function(err, user) {
if (user && !err) {
res.cookie(cookieName, strategy.serializeUser(user), {signed: true, maxAge: 1000*60*60*24*7});
res.redirect(config.redirect);
} else {
console.log("error al checkear credenciales");
res.redirect(config.failRedirect);
}
});
}
}

exports.requiresSession = function(req, res, next) {
if (req.signedCookies[cookieName]) {
strategy.deserializeUser(req.signedCookies[cookieName], function(err, user) {
if(err) {
res.clearCookie(cookieName);
return res.sendStatus(500);
}
req.user = user;
next();
});
} else {
next(strategy.loginRoute);
}
}

exports.destroySession = function(res) {
res.clearCookie(cookieName);
}

0 comments on commit 8bb1560

Please sign in to comment.