Open IDP profile on MyPage
This commit is contained in:
@@ -13,3 +13,4 @@ OIDC_CLIENT_ID=
|
|||||||
OIDC_CLIENT_SECRET=
|
OIDC_CLIENT_SECRET=
|
||||||
OIDC_REDIRECT_URL=
|
OIDC_REDIRECT_URL=
|
||||||
OIDC_SCOPES=openid profile email
|
OIDC_SCOPES=openid profile email
|
||||||
|
IDP_SERVICE_URL=
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ docker compose down
|
|||||||
- `OIDC_CLIENT_SECRET`
|
- `OIDC_CLIENT_SECRET`
|
||||||
- `OIDC_REDIRECT_URL`
|
- `OIDC_REDIRECT_URL`
|
||||||
- `OIDC_SCOPES` (예: `openid profile email`)
|
- `OIDC_SCOPES` (예: `openid profile email`)
|
||||||
|
- `IDP_SERVICE_URL` (예: `https://idp.example.com`)
|
||||||
|
|
||||||
## DB 초기화
|
## DB 초기화
|
||||||
- `kngil_DB` 덤프는 **처음 실행 시** 자동으로 로드됩니다.
|
- `kngil_DB` 덤프는 **처음 실행 시** 자동으로 로드됩니다.
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ services:
|
|||||||
OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET:-}
|
OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET:-}
|
||||||
OIDC_REDIRECT_URL: ${OIDC_REDIRECT_URL:-}
|
OIDC_REDIRECT_URL: ${OIDC_REDIRECT_URL:-}
|
||||||
OIDC_SCOPES: ${OIDC_SCOPES:-}
|
OIDC_SCOPES: ${OIDC_SCOPES:-}
|
||||||
|
IDP_SERVICE_URL: ${IDP_SERVICE_URL:-}
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
||||||
|
|||||||
@@ -910,6 +910,12 @@ function login() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function mypage01() {
|
function mypage01() {
|
||||||
|
const raw = (window.IDP_SERVICE_URL || "").trim();
|
||||||
|
if (raw) {
|
||||||
|
const url = raw.replace(/\/+$/, "") + "/profile";
|
||||||
|
window.open(url, "idp_profile", "noopener,noreferrer");
|
||||||
|
return;
|
||||||
|
}
|
||||||
$(".popup_wrap").hide();
|
$(".popup_wrap").hide();
|
||||||
$(".btn_close").show();
|
$(".btn_close").show();
|
||||||
$("#pop_mypage01").show(0, function () {
|
$("#pop_mypage01").show(0, function () {
|
||||||
|
|||||||
@@ -20,7 +20,27 @@ function hide(id) {
|
|||||||
마이페이지 1단계 (비밀번호 인증)
|
마이페이지 1단계 (비밀번호 인증)
|
||||||
- 헤더에서 호출
|
- 헤더에서 호출
|
||||||
========================= */
|
========================= */
|
||||||
|
function getIdpProfileUrl() {
|
||||||
|
const raw = (window.IDP_SERVICE_URL || '').trim()
|
||||||
|
if (!raw) {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
return raw.replace(/\/+$/, '') + '/profile'
|
||||||
|
}
|
||||||
|
|
||||||
|
function openIdpProfile() {
|
||||||
|
const url = getIdpProfileUrl()
|
||||||
|
if (!url) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
window.open(url, 'idp_profile', 'noopener,noreferrer')
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
window.mypage01 = function () {
|
window.mypage01 = function () {
|
||||||
|
if (openIdpProfile()) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if (!window.IS_LOGIN) {
|
if (!window.IS_LOGIN) {
|
||||||
if (typeof window.login === 'function') {
|
if (typeof window.login === 'function') {
|
||||||
window.login()
|
window.login()
|
||||||
|
|||||||
@@ -910,6 +910,12 @@ function login() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function mypage01() {
|
function mypage01() {
|
||||||
|
const raw = (window.IDP_SERVICE_URL || "").trim();
|
||||||
|
if (raw) {
|
||||||
|
const url = raw.replace(/\/+$/, "") + "/profile";
|
||||||
|
window.open(url, "idp_profile", "noopener,noreferrer");
|
||||||
|
return;
|
||||||
|
}
|
||||||
$(".popup_wrap").hide();
|
$(".popup_wrap").hide();
|
||||||
$(".btn_close").show();
|
$(".btn_close").show();
|
||||||
$("#pop_mypage01").show(0, function () {
|
$("#pop_mypage01").show(0, function () {
|
||||||
|
|||||||
@@ -3,8 +3,12 @@ if (session_status() === PHP_SESSION_NONE) {
|
|||||||
session_start();
|
session_start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require_once __DIR__ . '/../bbs/env.php';
|
||||||
|
kngil_load_env_once(dirname(__DIR__, 2) . '/.env');
|
||||||
|
|
||||||
$isLogin = isset($_SESSION['login']);
|
$isLogin = isset($_SESSION['login']);
|
||||||
$auth = $_SESSION['login']['auth_bc'] ?? '';
|
$auth = $_SESSION['login']['auth_bc'] ?? '';
|
||||||
|
$idpServiceUrl = getenv('IDP_SERVICE_URL') ?: '';
|
||||||
$loginName = $_SESSION['login']['idp_name'] ?? ($_SESSION['login']['user_nm'] ?? '');
|
$loginName = $_SESSION['login']['idp_name'] ?? ($_SESSION['login']['user_nm'] ?? '');
|
||||||
$loginEmail = $_SESSION['login']['idp_email'] ?? ($_SESSION['login']['email'] ?? '');
|
$loginEmail = $_SESSION['login']['idp_email'] ?? ($_SESSION['login']['email'] ?? '');
|
||||||
$displayName = $loginName ?: ($loginEmail ?: '');
|
$displayName = $loginName ?: ($loginEmail ?: '');
|
||||||
@@ -141,6 +145,7 @@ $isCompanyAdmin = in_array($auth, ['BS100100', 'BS100200', 'BS100300', 'BS100400
|
|||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
window.IS_LOGIN = <?= isset($_SESSION['login']) ? 'true' : 'false' ?>;
|
window.IS_LOGIN = <?= isset($_SESSION['login']) ? 'true' : 'false' ?>;
|
||||||
|
window.IDP_SERVICE_URL = <?= json_encode($idpServiceUrl, JSON_UNESCAPED_SLASHES) ?>;
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user