let express = require('express'); let router = express.Router(); let passport = require('passport'); let directory = require('../directory.js'); router.get('/selfservice/api', function (req, res) { response = 'Hello World!
'; console.log('User:', req.user); if (req.user) { // Query Active Directory for user details // username is the UPN let username = req.user.username; attributes = ['dn', 'memberOf']; response += 'Username: ' + req.user.username + '
'; response += 'First Name: ' + req.user.first_name + '
'; response += 'Last Name: ' + req.user.last_name + '
'; response += 'Logout'; res.send(response); } else { response += 'Login'; res.send(response); } }); router.get('/selfservice/api/logout', function (req, res) { req.logout(); res.redirect('/selfservice/api'); }); router.get('/selfservice/api/login', passport.authenticate('saml', { failureRedirect: '/selfservice/api', failureFlash: true }), function (req, res) { res.redirect(end); } ); router.use(function(req, res, next) { console.log('Received request:', req.method, req.url); console.log('Data:', req.body); next(); }); router.post('/selfservice/api/login/postResponse', passport.authenticate('saml', { failureRedirect: '/selfservice/api',successRedirect: '/selfservice/api', failureFlash: true }), function (req, res) { console.log('SAML authentication successful'); res.redirect('/selfservice'); } ); function validUser(req, res, next) { if (!req.user) { res.redirect('/api/login'); } next(); } module.exports = router;