diff --git a/poc4_active_source_20260714/apps/poc4/mcp_discovery_ui.py b/poc4_active_source_20260714/apps/poc4/mcp_discovery_ui.py index 14576bf..cfc78c1 100644 --- a/poc4_active_source_20260714/apps/poc4/mcp_discovery_ui.py +++ b/poc4_active_source_20260714/apps/poc4/mcp_discovery_ui.py @@ -80,7 +80,7 @@ VPD_TOKEN_PRESETS_FILE = ROOT / "config" / "vpd_token_presets.json" DEMO_SCENARIOS_FILE = ROOT / "config" / "smilegate_demo_scenarios.json" APP_PROFILE_FILE = ROOT / "config" / "app_profile.json" CHAT_DB_FILE = ROOT / "data" / "poc4_mcp_chat.sqlite3" -DEFAULT_VPD_USER_ID = "sg-teamlead" +DEFAULT_VPD_USER_ID = "1001" VPD_OPERATIONS_URL = "https://smilegate-backoffice.cloud-handson.com/" PORTAL_AUTHENTICATED_KEY = "poc4_portal_authenticated" PORTAL_AUTH_USER_KEY = "poc4_portal_auth_user" @@ -3644,6 +3644,9 @@ def load_vpd_token_presets( if not isinstance(item, Mapping) or item.get("enabled", True) is not True: continue token = _normalized_bearer(item.get("token")) + if not token: + token_env = str(item.get("token_env") or "").strip() + token = _normalized_bearer(_runtime_env_value(token_env)) if token_env else "" user_id = str(item.get("user_id") or "").strip() if not token or not user_id or user_id in seen: continue diff --git a/poc4_active_source_20260714/config/vpd_token_presets.json b/poc4_active_source_20260714/config/vpd_token_presets.json index dae699c..2c31fac 100644 --- a/poc4_active_source_20260714/config/vpd_token_presets.json +++ b/poc4_active_source_20260714/config/vpd_token_presets.json @@ -1,14 +1,24 @@ { "presets": [ { - "enabled": false, + "enabled": true, "default": true, - "token": "vpd_live_REPLACE_WITH_USER_TOKEN", - "user_id": "FC00789", - "name": "김설계", - "role": "설계사", - "channel": "설계사", - "scope": "본인 담당 계약 고객" + "user_id": "1001", + "name": "Data & AI TF 팀장", + "role": "DATA_AI_POC_ADMIN", + "channel": "DATA_AI_TF", + "scope": "SGMP_POC 게임 데이터 전체", + "token_env": "SMILEGATE_TEAMLEAD_BEARER_TOKEN" + }, + { + "enabled": true, + "default": false, + "user_id": "1002", + "name": "Data & AI TF 팀원", + "role": "DATA_AI_POC_ADMIN", + "channel": "DATA_AI_TF", + "scope": "SGMP_POC 게임 데이터 전체", + "token_env": "SMILEGATE_TEAMMEMBER_BEARER_TOKEN" } ] }