Issue access cookie for admin sessions

This commit is contained in:
seo
2026-06-15 10:29:43 +09:00
parent 70d207f807
commit 356b884162
2 changed files with 19 additions and 3 deletions
+4 -1
View File
@@ -19,6 +19,7 @@
- 공통 암호 변경 - 공통 암호 변경
- 사이트 관리자 로그인 상태에서만 관리 버튼 표시 - 사이트 관리자 로그인 상태에서만 관리 버튼 표시
- 사이트 관리자 로그인 상태에서는 미니앱 실행 시 공통 암호 생략 - 사이트 관리자 로그인 상태에서는 미니앱 실행 시 공통 암호 생략
- 사이트 관리자 세션으로 미니앱 진입 시 공통 접근 쿠키 자동 발급
## 구조 ## 구조
@@ -35,4 +36,6 @@
## 운영 메모 ## 운영 메모
메인 버튼은 기존 4개를 유지합니다. Rhymix 사이트 관리자 로그인 상태에서는 미니앱 실행 시 공통 암호를 묻지 않습니다. 암호 변경은 배너 우하단의 작은 `관리` 링크에서 처리하며, 이 링크는 사이트 관리자 로그인 상태에서만 표시합니다. 암호 변경 시에는 현재 공통 암호 입력을 계속 요구합니다. 메인 버튼은 기존 4개를 유지합니다. Rhymix 사이트 관리자 로그인 상태에서는 미니앱 실행 시 공통 암호를 묻지 않습니다. 이때 `/custom/launcher/api.php?adminSession=1` 또는 `session=1` 응답에서 공통 접근 쿠키를 함께 발급해, 이동한 미니앱 내부 세션 검사에서도 바로 통과합니다.
암호 변경은 배너 우하단의 작은 `관리` 링크에서 처리하며, 이 링크는 사이트 관리자 로그인 상태에서만 표시합니다. 암호 변경 시에는 현재 공통 암호 입력을 계속 요구합니다.
+15 -2
View File
@@ -63,11 +63,24 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($_SERVER['REQUEST_METHOD'] === 'GET') { if ($_SERVER['REQUEST_METHOD'] === 'GET') {
if (isset($_GET['session'])) { if (isset($_GET['session'])) {
custom_json(['authenticated' => custom_has_auth_cookie()]); if (custom_has_auth_cookie()) {
custom_json(['authenticated' => true, 'admin' => false]);
}
if (custom_is_site_admin()) {
custom_issue_auth_cookie();
custom_json(['authenticated' => true, 'admin' => true]);
}
custom_json(['authenticated' => false, 'admin' => false]);
} }
if (isset($_GET['adminSession'])) { if (isset($_GET['adminSession'])) {
custom_json(['admin' => custom_is_site_admin()]); $isAdmin = custom_is_site_admin();
if ($isAdmin) {
custom_issue_auth_cookie();
}
custom_json(['admin' => $isAdmin, 'authenticated' => $isAdmin || custom_has_auth_cookie()]);
} }
if (isset($_GET['failMessages'])) { if (isset($_GET['failMessages'])) {