mbkauthe 1.3.1 → 1.3.3
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.
package/lib/main.js
CHANGED
|
@@ -90,6 +90,7 @@ router.use(async (req, res, next) => {
|
|
|
90
90
|
req.session.user = {
|
|
91
91
|
id: user.id,
|
|
92
92
|
username: user.UserName,
|
|
93
|
+
UserName: user.UserName,
|
|
93
94
|
sessionId,
|
|
94
95
|
};
|
|
95
96
|
}
|
|
@@ -125,7 +126,9 @@ async function completeLoginProcess(req, res, user, redirectUrl = null) {
|
|
|
125
126
|
req.session.user = {
|
|
126
127
|
id: user.id,
|
|
127
128
|
username: user.username,
|
|
129
|
+
UserName: user.UserName,
|
|
128
130
|
role: user.role,
|
|
131
|
+
Role: user.role,
|
|
129
132
|
sessionId,
|
|
130
133
|
};
|
|
131
134
|
|
|
@@ -273,6 +276,7 @@ router.post("/mbkauthe/api/login", LoginLimit, async (req, res) => {
|
|
|
273
276
|
id: user.id,
|
|
274
277
|
username: user.UserName,
|
|
275
278
|
role: user.Role,
|
|
279
|
+
Role: user.role,
|
|
276
280
|
};
|
|
277
281
|
console.log(`[mbkauthe] 2FA required for user: ${username}`);
|
|
278
282
|
return res.json({ success: true, twoFactorRequired: true });
|
|
@@ -284,6 +288,7 @@ router.post("/mbkauthe/api/login", LoginLimit, async (req, res) => {
|
|
|
284
288
|
id: user.id,
|
|
285
289
|
username: user.UserName,
|
|
286
290
|
role: user.Role,
|
|
291
|
+
Role: user.role,
|
|
287
292
|
};
|
|
288
293
|
await completeLoginProcess(req, res, userForSession);
|
|
289
294
|
|
|
@@ -24,6 +24,7 @@ async function validateSession(req, res, next) {
|
|
|
24
24
|
req.session.user = {
|
|
25
25
|
id: user.id,
|
|
26
26
|
username: user.UserName,
|
|
27
|
+
UserName: user.UserName,
|
|
27
28
|
sessionId,
|
|
28
29
|
};
|
|
29
30
|
}
|
|
@@ -129,10 +130,6 @@ const checkRolePermission = (requiredRole, notAllowed) => {
|
|
|
129
130
|
});
|
|
130
131
|
}
|
|
131
132
|
|
|
132
|
-
if (requiredRole === "Any" || requiredRole === "any") {
|
|
133
|
-
return next();
|
|
134
|
-
}
|
|
135
|
-
|
|
136
133
|
const userId = req.session.user.id;
|
|
137
134
|
|
|
138
135
|
const query = `SELECT "Role" FROM "Users" WHERE "id" = $1`;
|
|
@@ -156,6 +153,10 @@ const checkRolePermission = (requiredRole, notAllowed) => {
|
|
|
156
153
|
});
|
|
157
154
|
}
|
|
158
155
|
|
|
156
|
+
if (requiredRole === "Any" || requiredRole === "any") {
|
|
157
|
+
return next();
|
|
158
|
+
}
|
|
159
|
+
|
|
159
160
|
if (userRole !== requiredRole) {
|
|
160
161
|
return res.render("Error/dError.handlebars", {
|
|
161
162
|
layout: false,
|
|
@@ -283,7 +284,9 @@ const authapi = (requiredRole = []) => {
|
|
|
283
284
|
console.log("[mbkauthe] [authapi] User has the required role or no specific role is required. Proceeding to next middleware.");
|
|
284
285
|
req.user = {
|
|
285
286
|
username: user.UserName,
|
|
287
|
+
UserName: user.UserName,
|
|
286
288
|
role: user.Role,
|
|
289
|
+
Role: user.role,
|
|
287
290
|
// Add other user properties you might need
|
|
288
291
|
};
|
|
289
292
|
|
package/package.json
CHANGED
|
@@ -443,13 +443,11 @@
|
|
|
443
443
|
|
|
444
444
|
.status-box:hover {
|
|
445
445
|
box-shadow: var(--shadow-lg);
|
|
446
|
-
transform: scale(1.05);
|
|
447
446
|
}
|
|
448
447
|
|
|
449
448
|
.status-code {
|
|
450
449
|
text-align: center;
|
|
451
|
-
|
|
452
|
-
font-size: 2.5rem;
|
|
450
|
+
font-size: 4rem;
|
|
453
451
|
font-weight: 700;
|
|
454
452
|
color: var(--success);
|
|
455
453
|
position: relative;
|
|
@@ -465,7 +463,7 @@
|
|
|
465
463
|
.status-code::after {
|
|
466
464
|
content: '';
|
|
467
465
|
position: absolute;
|
|
468
|
-
bottom:
|
|
466
|
+
bottom: 10px;
|
|
469
467
|
left: 50%;
|
|
470
468
|
transform: translateX(-50%);
|
|
471
469
|
width: 100px;
|
|
@@ -502,7 +500,7 @@
|
|
|
502
500
|
|
|
503
501
|
.status-link:hover {
|
|
504
502
|
text-decoration: underline;
|
|
505
|
-
color:
|
|
503
|
+
color: #4057be;
|
|
506
504
|
}
|
|
507
505
|
|
|
508
506
|
.details-wrapper {
|
|
@@ -628,6 +626,35 @@
|
|
|
628
626
|
transform: translateY(-20px) rotate(5deg);
|
|
629
627
|
}
|
|
630
628
|
}
|
|
629
|
+
|
|
630
|
+
@media (max-width: 768px) {
|
|
631
|
+
|
|
632
|
+
.version-info {
|
|
633
|
+
bottom: 10px;
|
|
634
|
+
right: 10px;
|
|
635
|
+
font-size: 0.7rem;
|
|
636
|
+
padding: 6px 10px;
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
.version-info {
|
|
641
|
+
position: fixed;
|
|
642
|
+
bottom: 20px;
|
|
643
|
+
right: 20px;
|
|
644
|
+
background: var(--dark-light);
|
|
645
|
+
color: var(--gray);
|
|
646
|
+
padding: 8px 12px;
|
|
647
|
+
border-radius: var(--radius-sm);
|
|
648
|
+
font-size: 0.75rem;
|
|
649
|
+
border: 1px solid var(--glass-border);
|
|
650
|
+
z-index: 999;
|
|
651
|
+
transition: var(--transition);
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
.version-info:hover {
|
|
655
|
+
color: var(--primary);
|
|
656
|
+
border-color: var(--primary);
|
|
657
|
+
}
|
|
631
658
|
</style>
|
|
632
659
|
</head>
|
|
633
660
|
|
|
@@ -637,7 +664,7 @@
|
|
|
637
664
|
<div class="navbar">
|
|
638
665
|
<a class="logo">
|
|
639
666
|
<img src="https://mbktechstudio.com/Assets/Images/Icon/dgicon.svg" alt="MBK Tech Studio Logo">
|
|
640
|
-
<span class="logo-text">MBK Authe</span>
|
|
667
|
+
<span class="logo-text">{{#if app}}{{app}}{{else}}MBK Authe{{/if}}</span>
|
|
641
668
|
</a>
|
|
642
669
|
</div>
|
|
643
670
|
</nav>
|
|
@@ -683,6 +710,10 @@
|
|
|
683
710
|
|
|
684
711
|
</div>
|
|
685
712
|
</section>
|
|
713
|
+
<!-- Version Info -->
|
|
714
|
+
<div class="version-info">
|
|
715
|
+
v{{version}}
|
|
716
|
+
</div>
|
|
686
717
|
<script>
|
|
687
718
|
function toggleDetailsDropdown(element) {
|
|
688
719
|
const errorDetailsWrapper = element.querySelector('.error-details-wrapper');
|