From d43c9f380ac8f01a3abc31fdaf98825a6182350b Mon Sep 17 00:00:00 2001 From: Ashot Nazaryan Date: Sun, 26 Jul 2015 20:30:54 -0700 Subject: [PATCH] Custom Authentication Example on how to make a more custom authentication check --- examples/webPanel_authv2.js | 94 +++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 examples/webPanel_authv2.js diff --git a/examples/webPanel_authv2.js b/examples/webPanel_authv2.js new file mode 100644 index 0000000..ef3a996 --- /dev/null +++ b/examples/webPanel_authv2.js @@ -0,0 +1,94 @@ +/* jshint -W079 */ +(function() { + var express = require('express'), + app = express(), + scribe = require('../scribe')(), + console = process.console; + + + app.set('port', (process.env.PORT || 5000)); + + /** + * User : test + * Pwd : tes + */ + + app.get('/', function(req, res) { + res.send('Hello world, see you at /logs'); + }); + + //Handle your authentication here... use next if valid... redirect away otherwise! + var auth = function(req, res, next) { + if (req.user.admin) { + return next(); + } + return res.redirect("/"); + }; + + app.use('/logs', auth, scribe.webPanel()); + + //Make some logs + console.addLogger('log'); + console.addLogger('debug', 'inverse'); + console.addLogger('fun', 'rainbow'); + + console.time().fun('hello world'); + console.tag('This is a test').debug('A test'); + console.tag('An object').log({ + a: 'b', + c: [1, 2, 3] + }); + + var port = app.get("port"); + + app.listen(port, function() { + console.time().log('Server listening at port ' + port); + }); +})(); +/* jshint -W079 */ +(function() { + var express = require('express'), + app = express(), + scribe = require('../scribe')(), + console = process.console; + + + app.set('port', (process.env.PORT || 5000)); + + /** + * User : test + * Pwd : tes + */ + + app.get('/', function(req, res) { + res.send('Hello world, see you at /logs'); + }); + + //Handle your authentication here... use next if valid... redirect away otherwise! + var auth = function(req, res, next) { + if (req.user.admin) { + return next(); + } + return res.redirect("/"); + }; + + app.use('/logs', auth, scribe.webPanel()); + + //Make some logs + console.addLogger('log'); + console.addLogger('debug', 'inverse'); + console.addLogger('fun', 'rainbow'); + + console.time().fun('hello world'); + console.tag('This is a test').debug('A test'); + console.tag('An object').log({ + a: 'b', + c: [1, 2, 3] + }); + + var port = app.get("port"); + + app.listen(port, function() { + console.time().log('Server listening at port ' + port); + }); +})();