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