mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-09 15:35:47 +01:00
changing admin API calls to return 404 if unauthenticated, and redirect user to login for regular URL. closes #1885
This commit is contained in:
@@ -16,7 +16,9 @@ var app,
|
|||||||
|
|
||||||
middleware.isAdmin = function(req, res, next) {
|
middleware.isAdmin = function(req, res, next) {
|
||||||
if (!req.user) {
|
if (!req.user) {
|
||||||
return res.redirect(nconf.get('relative_path') + '/login?next=admin');
|
return res.json(404, {
|
||||||
|
error: 'not-found'
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
user.isAdministrator((req.user && req.user.uid) ? req.user.uid : 0, function (err, isAdmin) {
|
user.isAdministrator((req.user && req.user.uid) ? req.user.uid : 0, function (err, isAdmin) {
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ var app,
|
|||||||
categories = require('./../categories'),
|
categories = require('./../categories'),
|
||||||
topics = require('./../topics'),
|
topics = require('./../topics'),
|
||||||
messaging = require('../messaging'),
|
messaging = require('../messaging'),
|
||||||
|
ensureLoggedIn = require('connect-ensure-login'),
|
||||||
|
|
||||||
controllers = {
|
controllers = {
|
||||||
api: require('./../controllers/api')
|
api: require('./../controllers/api')
|
||||||
@@ -32,6 +33,8 @@ middleware.authenticate = function(req, res, next) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
middleware.ensureLoggedIn = ensureLoggedIn.ensureLoggedIn();
|
||||||
|
|
||||||
middleware.updateLastOnlineTime = function(req, res, next) {
|
middleware.updateLastOnlineTime = function(req, res, next) {
|
||||||
if(req.user) {
|
if(req.user) {
|
||||||
user.updateLastOnlineTime(req.user.uid);
|
user.updateLastOnlineTime(req.user.uid);
|
||||||
|
|||||||
@@ -177,7 +177,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
app.get(strategy.callbackURL, passport.authenticate(strategy.name, {
|
app.get(strategy.callbackURL, passport.authenticate(strategy.name, {
|
||||||
successRedirect: nconf.get('relative_path') + '/',
|
successReturnToOrRedirect: nconf.get('relative_path') + '/',
|
||||||
failureRedirect: nconf.get('relative_path') + '/login'
|
failureRedirect: nconf.get('relative_path') + '/login'
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ module.exports = function(app, middleware) {
|
|||||||
|
|
||||||
app.all(relativePath + '/api/?*', middleware.updateLastOnlineTime, middleware.prepareAPI);
|
app.all(relativePath + '/api/?*', middleware.updateLastOnlineTime, middleware.prepareAPI);
|
||||||
app.all(relativePath + '/api/admin/*', middleware.admin.isAdmin, middleware.prepareAPI);
|
app.all(relativePath + '/api/admin/*', middleware.admin.isAdmin, middleware.prepareAPI);
|
||||||
app.all(relativePath + '/admin/?*', middleware.admin.isAdmin);
|
app.all(relativePath + '/admin/?*', middleware.ensureLoggedIn, middleware.admin.isAdmin);
|
||||||
|
|
||||||
adminRoutes(router, middleware, controllers);
|
adminRoutes(router, middleware, controllers);
|
||||||
metaRoutes(router, middleware, controllers);
|
metaRoutes(router, middleware, controllers);
|
||||||
|
|||||||
Reference in New Issue
Block a user