mbkauthe 1.1.5 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/main.js +31 -5
  2. package/package.json +1 -1
package/lib/main.js CHANGED
@@ -246,6 +246,11 @@ router.post("/mbkauthe/api/login", LoginLimit, async (req, res) => {
246
246
  const sessionId = crypto.randomBytes(256).toString("hex");
247
247
  console.log(`Generated session ID for username: ${username}`);
248
248
 
249
+ // Delete old session record for this user
250
+ if (user.SessionId) {
251
+ await dblogin.query('DELETE FROM "session" WHERE username = $1', [user.UserName]);
252
+ }
253
+
249
254
  await dblogin.query(`UPDATE "Users" SET "SessionId" = $1 WHERE "id" = $2`, [
250
255
  sessionId,
251
256
  user.id,
@@ -262,11 +267,32 @@ router.post("/mbkauthe/api/login", LoginLimit, async (req, res) => {
262
267
  res.cookie("sessionId", sessionId, cookieOptions);
263
268
  console.log(req.session.user);
264
269
 
265
- console.log(`User "${username}" logged in successfully`);
266
- res.status(200).json({
267
- success: true,
268
- message: "Login successful",
269
- sessionId,
270
+
271
+ // Save session and update username in session table
272
+ req.session.save(async (err) => {
273
+ if (err) {
274
+ console.log("Session save error:", err);
275
+ return res.status(500).json({ success: false, message: "Internal Server Error" });
276
+ }
277
+ try {
278
+ await dblogin.query(
279
+ 'UPDATE "session" SET username = $1 WHERE sid = $2',
280
+ [user.UserName, req.sessionID]
281
+ );
282
+ } catch (e) {
283
+ console.log("Failed to update username in session table:", e);
284
+ }
285
+
286
+ const cookieOptions = getCookieOptions();
287
+ res.cookie("sessionId", sessionId, cookieOptions);
288
+ console.log(req.session.user);
289
+
290
+ console.log(`User "${username}" logged in successfully`);
291
+ res.status(200).json({
292
+ success: true,
293
+ message: "Login successful",
294
+ sessionId,
295
+ });
270
296
  });
271
297
  } catch (err) {
272
298
  console.log("Error during login process:", err);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mbkauthe",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "description": "MBKTechStudio's reusable authentication system for Node.js applications.",
5
5
  "main": "index.js",
6
6
  "type": "module",