Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const config = require('./config.json');
- console.log(`listening on ${config.app.port}`);
- const Promise = require('bluebird')
- , express = require('express')
- , app = express()
- , session = require('express-session')
- , KnexSessionStore = require('connect-session-knex')(session)
- , bodyParser = require('body-parser')
- , AD = require('activedirectory2').promiseWrapper
- , { ldap_to_date } = require('time-stamps')
- , moment = require('moment')
- , cors = require('cors')
- , connect = require('connect')
- , knex = require('knex')({
- client: 'mysql',
- connection: config.mysql
- })
- app.use(bodyParser.urlencoded({ extended: false }))
- app.use(bodyParser.json())
- app.use(cors())
- let store = new KnexSessionStore({
- knex: knex,
- tablename: 'sessions'
- })
- app.use(session({
- store: store,
- secret: '',
- cookie: { maxAge: 900000 }
- }))
- app.post('/login', (req, res) => {
- console.log(moment().format('MM-DD-YYYY HH:mm:ss:'), 'authenticating...', req.body.username)
- Promise.try(() => {
- // AD stuffs
- return payload
- }).then(payload => {
- console.log(payload);
- req.session.user = payload;
- req.session.save(() => {
- res.redirect('/dashboard')
- });
- }).catch((error) => {
- if (error.lde_message) res.status(401).json({
- error: 'invalid credentials'
- })
- else res.status(500).json(error)
- })
- })
- app.get('/dashboard', require('./lib/islogin.js'), (req, res) => {
- res.sendFile(__dirname+'/public/dashboard.html')
- })
Add Comment
Please, Sign In to add comment