|
@@ -1,15 +1,22 @@
|
|
|
var debug = require('debug')('crowi:lib:middlewares');
|
|
var debug = require('debug')('crowi:lib:middlewares');
|
|
|
var md5 = require('md5');
|
|
var md5 = require('md5');
|
|
|
|
|
|
|
|
-exports.loginChecker = function(crowi, app) {
|
|
|
|
|
|
|
+exports.csrfKeyGenerator = function(crowi, app) {
|
|
|
return function(req, res, next) {
|
|
return function(req, res, next) {
|
|
|
- var User = crowi.model('User');
|
|
|
|
|
var csrfKey = (req.session && req.session.id) || 'anon';
|
|
var csrfKey = (req.session && req.session.id) || 'anon';
|
|
|
|
|
|
|
|
if (req.csrfToken === null) {
|
|
if (req.csrfToken === null) {
|
|
|
req.csrfToken = crowi.getTokens().create(csrfKey);
|
|
req.csrfToken = crowi.getTokens().create(csrfKey);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ next();
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+exports.loginChecker = function(crowi, app) {
|
|
|
|
|
+ return function(req, res, next) {
|
|
|
|
|
+ var User = crowi.model('User');
|
|
|
|
|
+
|
|
|
// session に user object が入ってる
|
|
// session に user object が入ってる
|
|
|
if (req.session.user && '_id' in req.session.user) {
|
|
if (req.session.user && '_id' in req.session.user) {
|
|
|
User.findById(req.session.user._id, function(err, userData) {
|
|
User.findById(req.session.user._id, function(err, userData) {
|
|
@@ -29,6 +36,13 @@ exports.loginChecker = function(crowi, app) {
|
|
|
};
|
|
};
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+exports.loginCheckerForPassport = function(crowi, app) {
|
|
|
|
|
+ return function(req, res, next) {
|
|
|
|
|
+ res.locals.user = req.user;
|
|
|
|
|
+ next();
|
|
|
|
|
+ };
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
exports.csrfVerify = function(crowi, app) {
|
|
exports.csrfVerify = function(crowi, app) {
|
|
|
return function(req, res, next) {
|
|
return function(req, res, next) {
|
|
|
var token = req.body._csrf || req.query._csrf || null;
|
|
var token = req.body._csrf || req.query._csrf || null;
|