From 4d2421a6e71ad50590b193925a6a3cbf3b67b89f Mon Sep 17 00:00:00 2001 From: Rinjae Date: Wed, 14 Jan 2026 15:09:07 +0900 Subject: [PATCH] Add API retrieval by organization code and enhance SSO user handling - Implemented `getApisByOrgCode` method in `ObpApiService` to fetch APIs based on organization code. - Added corresponding endpoint in `ObpApiController`. - Updated `SsoController` to handle user creation without synchronization for existing users. - Introduced new properties for SSO synchronization settings in `KjbProperty`. --- .../eactive/ext/kjb/common/KjbProperty.java | 23 +++++++++++++++++++ .../ext/kjb/common/KjbPropertyValue.java | 1 + 2 files changed, 24 insertions(+) diff --git a/src/main/java/com/eactive/ext/kjb/common/KjbProperty.java b/src/main/java/com/eactive/ext/kjb/common/KjbProperty.java index d036036..ee668cb 100644 --- a/src/main/java/com/eactive/ext/kjb/common/KjbProperty.java +++ b/src/main/java/com/eactive/ext/kjb/common/KjbProperty.java @@ -144,6 +144,12 @@ public class KjbProperty { @KjbPropertyValue(key = "kjb.sso.ignore_validation", defaultValue = "false") private boolean ssoIgnoreValidation = false; + + @KjbPropertyValue( + key = "kjb.sso.sync_info", + defaultValue = "true", + description = "SSO 인증시 사용자 정보 동기화 여부(false 시 이름과 ID를 동일하게 처리. 나머지 정보는 무시)") + private boolean ssoSyncInfo = true; public String toJsonString(boolean isPretty) { @@ -151,6 +157,23 @@ public class KjbProperty { ? new GsonBuilder().setPrettyPrinting().create().toJson(this) : new Gson().toJson(this); } + + + // 기본 프로퍼티 목록을 콘솔로 출력 (가이드용) + public static void main(String[] args) { + System.out.println("| Key | Default Value | Description |"); + System.out.println("|-----|---------------|-------------|"); + + for (java.lang.reflect.Field field : KjbProperty.class.getDeclaredFields()) { + KjbPropertyValue annotation = field.getAnnotation(KjbPropertyValue.class); + if (annotation != null) { + String key = annotation.key(); + String defaultValue = annotation.defaultValue(); + String description = annotation.description(); + System.out.printf("| %s | %s | %s |%n", key, defaultValue, description); + } + } + } } diff --git a/src/main/java/com/eactive/ext/kjb/common/KjbPropertyValue.java b/src/main/java/com/eactive/ext/kjb/common/KjbPropertyValue.java index 0522f7d..6b75459 100644 --- a/src/main/java/com/eactive/ext/kjb/common/KjbPropertyValue.java +++ b/src/main/java/com/eactive/ext/kjb/common/KjbPropertyValue.java @@ -10,4 +10,5 @@ import java.lang.annotation.Target; public @interface KjbPropertyValue { String key(); String defaultValue() default ""; + String description() default ""; }