diff --git a/kngil/auth/oidc-login.php b/kngil/auth/oidc-login.php index 1cd80dc..9752f4e 100644 --- a/kngil/auth/oidc-login.php +++ b/kngil/auth/oidc-login.php @@ -1,5 +1,7 @@ { - button.addEventListener('click', openOidcLogin); + if (button.dataset.oidcBound === '1') return; + button.dataset.oidcBound = '1'; + button.addEventListener('click', (event) => { + event.preventDefault(); + window.openOidcLogin(); + }); }); } - window.openOidcLogin = openOidcLogin; - window.login = openOidcLogin; + if (!window.openOidcLogin) { + window.openOidcLogin = openOidcLogin; + } + window.login = window.openOidcLogin; - window.addEventListener('message', (event) => { - if (event.data && event.data.type === 'OIDC_LOGIN_SUCCESS') { - window.location.reload(); - } - }); + if (!window.__oidcLoginMessageBound) { + window.addEventListener('message', (event) => { + if (event.data && event.data.type === 'OIDC_LOGIN_SUCCESS') { + window.location.reload(); + } + }); + window.__oidcLoginMessageBound = true; + } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', bindOidcButtons); diff --git a/kngil/skin/_header.php b/kngil/skin/_header.php index f2d4bd6..8717ad2 100644 --- a/kngil/skin/_header.php +++ b/kngil/skin/_header.php @@ -24,7 +24,7 @@ if ($displayName === '') { } // 권한 그룹 -$isSuperAdmin = in_array($auth, ['BS100100', 'BS100200']); +$isSuperAdmin = in_array($auth, ['BS100100', 'BS100200']); $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400']); ?>
@@ -144,6 +144,55 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400 window.IS_LOGIN = = isset($_SESSION['login']) ? 'true' : 'false' ?>; window.IDP_SERVICE_URL = = json_encode($idpServiceUrl, JSON_UNESCAPED_SLASHES) ?>; + @@ -164,7 +213,7 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400 로그아웃 - +