BARON-SSO 로그인 UI 수정
All checks were successful
ITAM Code Check / build-and-config-check (push) Successful in 12s
ITAM Docker Build Check / docker-build-check (push) Successful in 24s

This commit is contained in:
2026-07-01 14:14:32 +09:00
parent 75b6ac4784
commit 6aae6d7dff
3 changed files with 27 additions and 8 deletions

View File

@@ -122,6 +122,16 @@ const handleError = (res, err, label) => {
res.status(500).json({ error: err.message });
};
const saveSession = (req) => new Promise((resolve, reject) => {
req.session.save((error) => {
if (error) {
reject(error);
return;
}
resolve();
});
});
// --- Global Constants ---
const CATEGORY_TABLE_MAP = {
pc: 'asset_core',
@@ -613,6 +623,8 @@ app.post('/api/auth/headless/login', async (req, res) => {
}
};
await saveSession(req);
res.json({ success: true, user: req.session.user });
} catch (error) {
console.error('Headless SSO login failed:', error);
@@ -629,7 +641,11 @@ app.post('/api/auth/headless/phone/init', async (req, res) => {
try {
const pendingLogin = await initHeadlessPhoneLogin({ loginId });
req.session.pendingPhoneLogin = pendingLogin;
req.session.pendingPhoneLogin = {
...pendingLogin,
startedAt: Date.now()
};
await saveSession(req);
res.json({
success: true,
pendingRef: pendingLogin.pendingRef,
@@ -670,6 +686,7 @@ app.post('/api/auth/headless/phone/poll', async (req, res) => {
intervalMs: result.intervalMs,
startedAt: pendingLogin.startedAt || Date.now()
};
await saveSession(req);
return res.json({
success: true,
status: 'pending',
@@ -701,6 +718,8 @@ app.post('/api/auth/headless/phone/poll', async (req, res) => {
}
};
await saveSession(req);
return res.json({ success: true, status: 'authenticated', user: req.session.user });
} catch (error) {
console.error('Headless phone login poll failed:', error);