From 22ca4731dfab2b9e3afcb6c88efaf5be2c4abf01 Mon Sep 17 00:00:00 2001 From: Ranjith Date: Fri, 19 Dec 2025 19:50:34 +0530 Subject: [PATCH] WMS-30135 | fix: improve authentication handling in project sync for pulling new changes --- src/project-sync.service.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/project-sync.service.js b/src/project-sync.service.js index d8cc2e3..6c86cf4 100644 --- a/src/project-sync.service.js +++ b/src/project-sync.service.js @@ -18,6 +18,7 @@ const MAX_REQUEST_ALLOWED_TIME = 5 * 60 * 1000; const loggerLabel = 'project-sync-service'; let remoteBaseCommitId = ''; let WM_PLATFORM_VERSION = ''; +let isAuthenticated = false; async function findProjectId(config) { const projectList = (await axios.get(`${config.baseUrl}/edn-services/rest/users/projects/list`, @@ -142,6 +143,17 @@ async function gitResetAndPull(tempDir, projectDir){ } async function pullChanges(projectId, config, projectDir) { + isAuthenticated = await checkAuthCookie(config); + + if (!isAuthenticated) { + console.log(chalk.yellow('\n⚠ Authentication Required')); + console.log(chalk.gray('━'.repeat(50))); + console.log(chalk.white('\nYour session has expired. Please authenticate to continue.')); + console.log(chalk.cyan(`\n→ Generate token: ${config.baseUrl}/studio/services/auth/token\n`)); + config.authCookie = await authenticateWithToken(config, false); + global.localStorage.setItem(STORE_KEY, config.authCookie); + } + try { const output = await exec('git', ['rev-parse', 'HEAD'], { cwd: projectDir @@ -363,7 +375,7 @@ async function setup(previewUrl, projectName, authToken) { appPreviewUrl: previewUrl, projectName: projectName }; - const isAuthenticated = await checkAuthCookie(config); + isAuthenticated = await checkAuthCookie(config); if (!isAuthenticated) { //console.log(`Need to login to Studio (${config.baseUrl}). \n Please enter your Studio credentails.`); //config.authCookie = await authenticateWithUserNameAndPassword(config);