diff --git a/bootstrap/app.php b/bootstrap/app.php index f65416b7..ff80ee5e 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -24,6 +24,8 @@ // CSRF 토큰 검증 예외 (외부 API 호출용) $middleware->validateCsrfTokens(except: [ 'menu-sync/*', + 'common-code-sync/*', + 'category-sync/*', ]); // web 미들웨어 그룹에 자동 재인증 추가 diff --git a/resources/views/categories/sync.blade.php b/resources/views/categories/sync.blade.php index cf906050..f6914bea 100644 --- a/resources/views/categories/sync.blade.php +++ b/resources/views/categories/sync.blade.php @@ -350,6 +350,7 @@ function updateSelectedCount(side) { 'X-CSRF-TOKEN': csrfToken, 'Accept': 'application/json' }, + credentials: 'same-origin', body: JSON.stringify({ env: selectedEnv, type: selectedType, category_keys: categoryKeys }) }); @@ -388,6 +389,7 @@ function updateSelectedCount(side) { 'X-CSRF-TOKEN': csrfToken, 'Accept': 'application/json' }, + credentials: 'same-origin', body: JSON.stringify({ env: selectedEnv, type: selectedType, category_keys: categoryKeys }) }); diff --git a/resources/views/common-codes/sync.blade.php b/resources/views/common-codes/sync.blade.php index ddaa2b46..7f3c3fa3 100644 --- a/resources/views/common-codes/sync.blade.php +++ b/resources/views/common-codes/sync.blade.php @@ -351,6 +351,7 @@ function updateSelectedCount(side) { 'X-CSRF-TOKEN': csrfToken, 'Accept': 'application/json' }, + credentials: 'same-origin', body: JSON.stringify({ env: selectedEnv, type: selectedType, code_keys: codeKeys }) }); @@ -389,6 +390,7 @@ function updateSelectedCount(side) { 'X-CSRF-TOKEN': csrfToken, 'Accept': 'application/json' }, + credentials: 'same-origin', body: JSON.stringify({ env: selectedEnv, type: selectedType, code_keys: codeKeys }) }); diff --git a/resources/views/menus/sync.blade.php b/resources/views/menus/sync.blade.php index 08fb5454..4f864e45 100644 --- a/resources/views/menus/sync.blade.php +++ b/resources/views/menus/sync.blade.php @@ -381,7 +381,7 @@ function closeSettingsModal() { return; } - const menuIds = Array.from(checkboxes).map(cb => cb.value); + const menuIds = Array.from(checkboxes).map(cb => parseInt(cb.dataset.menuId)); if (!confirm(`${menuIds.length}개 메뉴를 ${selectedEnv === 'dev' ? '개발' : '운영'} 서버로 Push 하시겠습니까?`)) { return; @@ -395,6 +395,7 @@ function closeSettingsModal() { 'X-CSRF-TOKEN': csrfToken, 'Accept': 'application/json' }, + credentials: 'same-origin', body: JSON.stringify({ env: selectedEnv, menu_ids: menuIds }) }); @@ -432,6 +433,7 @@ function closeSettingsModal() { 'X-CSRF-TOKEN': csrfToken, 'Accept': 'application/json' }, + credentials: 'same-origin', body: JSON.stringify({ env: selectedEnv, menu_names: menuNames }) });