94 lines
No EOL
2.3 KiB
JavaScript
94 lines
No EOL
2.3 KiB
JavaScript
let passport = require('passport');
|
|
let express = require('express');
|
|
let https = require('https');
|
|
let fs = require('fs');
|
|
|
|
let app = express();
|
|
require('./config/passport.js');
|
|
|
|
let session = require('express-session');
|
|
|
|
app.use(session({
|
|
secret: 'RLCCDwstDuT6nMJf5kko7C',
|
|
resave: false,
|
|
saveUninitialized: true
|
|
}));
|
|
|
|
// ... rest of your code ...
|
|
|
|
app.use(passport.initialize());
|
|
app.use(passport.session());
|
|
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
app.get('/', function (req, res) {
|
|
res.send('Hello World!<br><a href="/login">Login</a>');
|
|
console.log('User:', req.user);
|
|
if (req.user) {
|
|
console.log('User:', req.user);
|
|
}
|
|
});
|
|
|
|
app.get('/login',
|
|
passport.authenticate('saml', { failureRedirect: '/selfservice', failureFlash: true }),
|
|
function (req, res) {
|
|
res.redirect('https://localhost:3000/');
|
|
}
|
|
);
|
|
|
|
app.use(function(req, res, next) {
|
|
console.log('Received request:', req.method, req.url);
|
|
console.log('Data:', req.body);
|
|
next();
|
|
});
|
|
|
|
app.post('/selfservice/activedirectory/postResponse',
|
|
passport.authenticate('saml', { failureRedirect: '/selfservice',successRedirect: '/', failureFlash: true }),
|
|
function (req, res) {
|
|
console.log('SAML authentication successful');
|
|
res.redirect('https://localhost:3000/');
|
|
}
|
|
);
|
|
//app.get('selfservice/secure', validUser, routes.secure);
|
|
|
|
function validUser(req, res, next) {
|
|
if (!req.user) {
|
|
res.redirect('https://localhost:3000/login');
|
|
}
|
|
next();
|
|
}
|
|
|
|
const options = {
|
|
key: fs.readFileSync('adfs_connect/urn_satitm_sso_selfservice.key'),
|
|
cert: fs.readFileSync('adfs_connect/urn_satitm_sso_selfservice.cert'),
|
|
ciphers: [
|
|
'ECDHE-RSA-AES128-GCM-SHA256',
|
|
'ECDHE-ECDSA-AES128-GCM-SHA256',
|
|
'ECDHE-RSA-AES256-GCM-SHA384',
|
|
'ECDHE-ECDSA-AES256-GCM-SHA384',
|
|
'DHE-RSA-AES128-GCM-SHA256',
|
|
'ECDHE-RSA-AES128-SHA256',
|
|
'DHE-RSA-AES128-SHA256',
|
|
'ECDHE-RSA-AES256-SHA384',
|
|
'DHE-RSA-AES256-SHA384',
|
|
'ECDHE-RSA-AES256-SHA256',
|
|
'DHE-RSA-AES256-SHA256',
|
|
'HIGH',
|
|
'!aNULL',
|
|
'!eNULL',
|
|
'!EXPORT',
|
|
'!DES',
|
|
'!RC4',
|
|
'!MD5',
|
|
'!PSK',
|
|
'!SRP',
|
|
'!CAMELLIA'
|
|
].join(':'),
|
|
honorCipherOrder: true
|
|
};
|
|
|
|
let server = https.createServer(options, app);
|
|
server.listen(3000, function () {
|
|
console.log('Listening on port 3000');
|
|
}); |