Commit f0b219f5 authored by Wolfgang Knopki's avatar Wolfgang Knopki
Browse files

wip: await db connections, session creation

parent afd3c92a
Pipeline #974 failed with stages
in 6 minutes and 32 seconds
...@@ -65,6 +65,11 @@ router.post('/saml/SSO', passport.authenticate('saml', { failureRedirect: '/logi ...@@ -65,6 +65,11 @@ router.post('/saml/SSO', passport.authenticate('saml', { failureRedirect: '/logi
const xmlResponse = req.body.SAMLResponse; const xmlResponse = req.body.SAMLResponse;
const parser = new Saml2js(xmlResponse); const parser = new Saml2js(xmlResponse);
const userid = parser.get('email'); const userid = parser.get('email');
//check, if user exists, if not create.
//else get userid and create session -> set cookie
crypto.randomBytes(48, function(ex, buf) { crypto.randomBytes(48, function(ex, buf) {
var token = buf.toString('hex'); var token = buf.toString('hex');
...@@ -73,20 +78,20 @@ router.post('/saml/SSO', passport.authenticate('saml', { failureRedirect: '/logi ...@@ -73,20 +78,20 @@ router.post('/saml/SSO', passport.authenticate('saml', { failureRedirect: '/logi
token: token, token: token,
ip: req.ip, ip: req.ip,
device: "web", device: "web",
created_at: new Date() created_at: new Date(),
url : "/"
}; };
db.Session.create(session) db.Session.create(session)
.error(err => { .error(err => {
console.error("Error creating Session:",err); console.error("Error creating Session:",err);
res.sendStatus(500); res.redirect(500, "/");
}) })
.then(() => { .then(() => {
var domain = (process.env.NODE_ENV == "production") ? new URL(config.get('endpoint')).hostname : req.headers.hostname; var domain = (process.env.NODE_ENV == "production") ? new URL(config.get('endpoint')).hostname : req.headers.hostname;
res.cookie('sdsession', token, { domain: domain, httpOnly: true }); res.cookie('sdsession', token, { domain: domain, httpOnly: true });
res.status(201).json(session); res.redirect(302, "/")
}); });
res.redirect("/");
}); });
}); });
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment