From f0b219f5bfbb6a5febc53846acfe4c1f8936a408 Mon Sep 17 00:00:00 2001 From: Wolfgang Knopki <wolfgang.knopki@hft-stuttgart.de> Date: Thu, 17 Sep 2020 15:57:33 +0200 Subject: [PATCH] wip: await db connections, session creation --- routes/root.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/routes/root.js b/routes/root.js index 9cd43aa..0b8947f 100644 --- a/routes/root.js +++ b/routes/root.js @@ -65,6 +65,11 @@ router.post('/saml/SSO', passport.authenticate('saml', { failureRedirect: '/logi const xmlResponse = req.body.SAMLResponse; const parser = new Saml2js(xmlResponse); 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) { var token = buf.toString('hex'); @@ -73,20 +78,20 @@ router.post('/saml/SSO', passport.authenticate('saml', { failureRedirect: '/logi token: token, ip: req.ip, device: "web", - created_at: new Date() + created_at: new Date(), + url : "/" }; db.Session.create(session) .error(err => { console.error("Error creating Session:",err); - res.sendStatus(500); + res.redirect(500, "/"); }) .then(() => { 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.status(201).json(session); + res.redirect(302, "/") }); - res.redirect("/"); }); }); -- GitLab