2016-12-17 08:06:40 +07:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
run: run
|
|
|
|
}
|
|
|
|
|
|
|
|
var routes = require('./routes');
|
|
|
|
var Jwt = require('./jwt');
|
|
|
|
|
|
|
|
var express = require('express');
|
|
|
|
var bodyParser = require('body-parser');
|
|
|
|
var cookieParser = require('cookie-parser');
|
|
|
|
var speakeasy = require('speakeasy');
|
2016-12-18 01:36:41 +07:00
|
|
|
var path = require('path');
|
2016-12-17 08:06:40 +07:00
|
|
|
|
|
|
|
function run(config, ldap_client) {
|
2016-12-18 01:36:41 +07:00
|
|
|
var view_directory = path.resolve(__dirname, '../views');
|
|
|
|
var public_html_directory = path.resolve(__dirname, '../public_html');
|
|
|
|
|
2016-12-17 08:06:40 +07:00
|
|
|
var app = express();
|
|
|
|
app.use(cookieParser());
|
2016-12-18 01:36:41 +07:00
|
|
|
app.use(express.static(public_html_directory));
|
2016-12-17 08:06:40 +07:00
|
|
|
app.use(bodyParser.urlencoded({ extended: false }));
|
|
|
|
|
2016-12-18 01:36:41 +07:00
|
|
|
app.set('views', view_directory);
|
2016-12-17 08:06:40 +07:00
|
|
|
app.set('view engine', 'ejs');
|
|
|
|
|
|
|
|
app.set('jwt engine', new Jwt(config.jwt_secret));
|
|
|
|
app.set('ldap client', ldap_client);
|
|
|
|
app.set('totp engine', speakeasy);
|
|
|
|
app.set('config', config);
|
|
|
|
|
|
|
|
app.get ('/login', routes.login);
|
|
|
|
app.get ('/logout', routes.logout);
|
|
|
|
|
|
|
|
app.get ('/_auth', routes.auth);
|
|
|
|
app.post ('/_auth', routes.auth);
|
|
|
|
|
|
|
|
app.listen(config.port, function(err) {
|
|
|
|
console.log('Listening on %d...', config.port);
|
|
|
|
});
|
|
|
|
}
|