BARON-SSO 로그인 연동

This commit is contained in:
root
2026-07-27 17:23:52 +09:00
parent bf5e694571
commit ac5823234e
44 changed files with 1804 additions and 695 deletions
+15 -25
View File
@@ -1,25 +1,7 @@
<?php
session_start();
require_once dirname(__DIR__, 4) . '/auth/common.php';
function set_descope_session_cookies(array $user): void {
$expire = time() + 86400;
$cookieOptions = [
'expires' => $expire,
'path' => '/',
'samesite' => 'Lax',
];
$customAttributes = $user['customAttributes'] ?? [];
$roleNames = $user['roleNames'] ?? [];
setcookie('descope_login_id', (string)($user['loginIds'][0] ?? ''), $cookieOptions);
setcookie('descope_user_id', (string)($user['userId'] ?? ''), $cookieOptions);
setcookie('descope_user_name', (string)($user['name'] ?? ''), $cookieOptions);
setcookie('descope_user_email', (string)($user['email'] ?? ''), $cookieOptions);
setcookie('descope_user_phone', (string)($user['phone'] ?? ''), $cookieOptions);
setcookie('descope_custom_attributes', base64_encode(json_encode($customAttributes, JSON_UNESCAPED_UNICODE)), $cookieOptions);
setcookie('descope_role_names', base64_encode(json_encode($roleNames, JSON_UNESCAPED_UNICODE)), $cookieOptions);
}
auth_session_start_if_needed();
$email = trim($_POST['mb_id'] ?? '');
$password = trim($_POST['mb_password'] ?? '');
@@ -60,16 +42,24 @@ if ($http_code === 200 && isset($res_data['sessionJwt'])) {
// 로그인 성공 → 실패횟수 초기화
$_SESSION['login_fail_count'] = 0;
//session으로도 저장
$_SESSION['user'] = $res_data['user']; // userId, email 등
$_SESSION['sessionJwt'] = $res_data['sessionJwt'];
$_SESSION['refreshJwt'] = $res_data['refreshJwt'];
set_descope_session_cookies($res_data['user'] ?? []);
$normalizedUser = auth_apply_user_session(
$res_data['user'] ?? [],
'descope',
[
'sessionJwt' => $res_data['sessionJwt'] ?? '',
'refreshJwt' => $res_data['refreshJwt'] ?? '',
]
);
setcookie('baron_user', '', auth_cookie_options(time() - 42000));
setcookie('baron_claims', '', auth_cookie_options(time() - 42000));
setcookie('baron_provider', '', auth_cookie_options(time() - 42000));
auth_set_descope_session_cookies($normalizedUser);
echo json_encode([
'status' => 'ok',
'sessionJwt' => $res_data['sessionJwt'] ?? '',
// 'refreshJwt' => $res_data['refreshJwt'] ?? '',
'user' => $res_data['user'] ?? [],
'user' => $normalizedUser,
'session' => $_SESSION,
]);
// } else {