1
0
forked from baron/baron-sso
Commit Graph

61 Commits

Author SHA1 Message Date
5211842d47 조직도 기능 추가 2026-04-10 11:38:47 +09:00
b582c82c6f feat: implement multi-identifier architecture (Issue #496)
- Database: Add user_login_ids table for 1:N identifier mapping and remove legacy login_id column
- Kratos: Update identity schema to use custom_login_ids array instead of a single id trait
- Backend: Implement syncCustomLoginIDs to collect isLoginId fields across tenant schemas
- Backend: Add backtracking logic to auto-assign session tenant based on used login identifier
- Backend: Add 409 Conflict exception handling for Create/Update operations
- AdminFront: Refactor UserDetailPage to a tabbed grid layout (Info, Tenants, Security)
- AdminFront: Show '로그인 ID' badge on tenant schema fields used for authentication
- UserFront: Remove legacy optional 'Login ID' input from signup flow
- Tests: Add multi-identifier repository tests and update handler tests
2026-04-02 16:07:33 +09:00
kyy
d9e8fee64b dev 브런치 병합 code-check 오류 수정 2026-04-01 15:06:46 +09:00
ded1e1f5c4 fix(backend): fix merge conflict artifact and undefined explicitLoginID in UserHandler 2026-04-01 13:45:56 +09:00
634f869a84 Merge branch 'dev' into feat/id_login 2026-04-01 13:40:45 +09:00
fdffeacf50 fix(backend): fix loginIdField not being synced when companyCode is empty 2026-04-01 13:13:26 +09:00
54a853a5c6 fix(backend): fix syncLoginID to allow fields named 'id' to be synced from custom schema 2026-04-01 13:03:39 +09:00
27a7d226eb fix(backend): map Kratos traits id to loginId in UserSummary API response 2026-04-01 11:29:13 +09:00
6b30580f36 fix(backend): force keto outbox sync on explicit tenant assignment to self-heal missing relations 2026-03-31 17:51:53 +09:00
bc73b85909 feat(backend): auto-sync user group keto relation based on department in user update 2026-03-31 13:50:23 +09:00
5029b8049b fix(backend): prevent duplicate key constraint on empty login id when syncing users 2026-03-31 13:11:32 +09:00
kyy
2364ff59d2 관리자 비밀번호 변경을 Kratos 해시 업데이트 방식으로 수정 2026-03-31 11:49:47 +09:00
5ae0e19e31 style: apply backend go fmt and frontend biome auto-fixes 2026-03-27 17:57:03 +09:00
75cc6737bd feat: add robust login ID collision prevention and UI validation (#440)
- Add `ValidateLoginID` to enforce ID collision and security rules (prevents phone number collision, email format usage, and reserved words).
- Add `POST /api/v1/auth/signup/check-login-id` endpoint for real-time ID availability checks.
- Add `checkLoginIDAvailability` API call to userfront's `AuthProxyService`.
- Implement "Check Duplication" button and error/success messaging for the Login ID field in the signup screen.
- Add "000000" magic code bypass for `VerifySignupCode` in non-production environments to streamline testing.
2026-03-27 11:19:28 +09:00
aa60a22d57 feat: restore explicit loginId field and add to userfront signup flow
- Revert the removal of loginId from adminfront and backend.
- Prevent phone normalization logic from mangling custom employee ID login fields.
- Add an explicit 'loginId' optional input field to the userfront signup UI.
- Update AuthProxyService.signup and backend AuthHandler.Signup to transmit and map the 'loginId' parameter properly.
2026-03-26 14:22:43 +09:00
85b2049a61 fix(backend): improve LoginID synchronization from custom metadata fields
- Centralize LoginID sync logic in syncLoginID helper
- Support namespaced metadata in CreateUser, UpdateUser, and BulkCreateUsers
- Ensure UpdateUser and UpdateMe always sync LoginID from configured field even if not in update request
- Add phone number normalization consistency for custom LoginIDs
- Add unit tests for namespaced metadata LoginID sync
2026-03-26 12:46:33 +09:00
6337d975ea fix: Admin UI에서 전송한 커스텀 필드(metadata)가 백엔드 Kratos 트레이츠에 빈 배열로 깨져서 저장되는 문제 해결 (#440) 2026-03-25 17:43:30 +09:00
ab9cbfc897 fix: 권한이나 소속이 변경되지 않았을 때 Keto 권한 릴레이션이 불필요하게 삭제 후 재생성되는 버그 수정 2026-03-25 17:01:55 +09:00
6a4c37603d fix: Admin UI 커스텀 필드 로그인 ID 반영 문제 및 비밀번호 초기화 동작 개선 (#440)
- 사용자 정보 수정(UpdateUser) 시 메타데이터(커스텀 필드)를 명시적 loginId 값보다 우선하여 동기화하도록 로직 순서 변경
- Admin UI 사용자 상세의 비밀번호 초기화 기능이 즉시 폼에 덮어씌워지는 문제 해결을 위해, 별도의 확인 절차 후 즉각 독립적인 API 호출을 통해 재설정되도록 개선
2026-03-25 16:26:01 +09:00
7c21e500d6 fix: CreateUser 핸들러 내 누락된 LoginID 필드 추가 및 오타 수정 2026-03-25 15:34:29 +09:00
d10f80d41d feat: 커스텀 필드 기반 로그인 ID 연동 기능 추가 (#440)
- Kratos Identity 스키마에 로그인 전용 `id` 속성 추가
- 테넌트 Config의 `loginIdField` 설정에 따라 User의 `login_id` 및 Kratos `traits.id` 동기화 로직 구현
- Admin UI 테넌트 스키마 설정 내 '로그인 ID로 사용' 체크박스 추가
- Admin UI 사용자 생성/수정/조회 화면에 로그인 ID 관리 필드 및 컬럼 반영
- Userfront 로그인 화면 접속 시 테넌트 설정에 따라 동적 로그인 ID 라벨 적용
- 관련 다국어(ko/en) 번역 추가 및 로그인 ID 설계 문서 업데이트
2026-03-25 15:27:44 +09:00
311e491683 누락된 키 추가: 테넌트 수정 화면에 새롭게 추가한 '상위 테넌트' 관련 UI 키 2종을 로컬 설정 파일에 반영했습니다 2026-03-24 16:33:01 +09:00
a4f283e4e6 #445 #430 #426 #427 2026-03-24 14:22:05 +09:00
896a51df3d feat: add schema check on bulk user move and support for float/datetime in custom metadata 2026-03-19 14:02:56 +09:00
d305398326 Playwright 테스트 오류 수정 2026-03-18 09:05:50 +09:00
ec8abf39aa Merge branch 'dev' into feature/af-issue363 2026-03-18 09:05:23 +09:00
kyy
eac16cfcd9 4단계 역할 정규화 및 dev 권한 스코프 검증 강화 2026-03-16 16:44:35 +09:00
c2b55081a6 린트 적용 2026-03-05 17:20:46 +09:00
3113fc09ff 내정보 멀티 테턴트 표시 2026-03-05 17:18:49 +09:00
c1479a32a7 fix: ensure member counts are accurate by syncing membership relations in all user management actions 2026-03-04 18:05:17 +09:00
03e8ed4822 fix: resolve build errors and fix member count synchronization issues in bulk/org-chart import 2026-03-04 17:42:58 +09:00
16ba7ee47a fix(backend): correct parameter order in UserRepo.List call for CSV export 2026-03-04 17:28:37 +09:00
5be5ffd42f fix(backend): add UTF-8 BOM to CSV export for Excel compatibility 2026-03-04 17:22:34 +09:00
f55374f827 feat: implement bulk user group/tenant move functionality 2026-03-04 16:15:13 +09:00
5034785582 fix(backend): fix CSV export authentication by moving role validation inside the handler 2026-03-04 16:10:52 +09:00
d6a6e13678 fix(backend): add missing os import in UserHandler 2026-03-04 16:06:36 +09:00
5649ba2a76 fix(backend): allow role mocking via query parameter for CSV export downloads 2026-03-04 15:59:00 +09:00
9720b77898 feat: implement user data CSV export with dynamic metadata columns 2026-03-04 15:54:11 +09:00
a5102d9b25 feat: implement bulk user actions and organization tree search with auto-expansion 2026-03-04 15:43:00 +09:00
39b41a4c42 feat: enforce tenant isolation for audit logs and enhance user list filtering for multi-tenant admins 2026-03-04 14:12:39 +09:00
02acdf835f test: add unit and e2e tests for bulk user creation and schema validation 2026-03-04 13:26:44 +09:00
03a4c553f8 fix(backend): resolve unused variable error and optimize tenant lookup in bulk create 2026-03-04 12:39:42 +09:00
7c28bd4867 feat: implement CSV bulk user upload functionality 2026-03-04 11:26:37 +09:00
db88c7ab1c feat: implement enhanced user schema management with validation and admin_only fields 2026-03-04 10:09:52 +09:00
77af59b7a8 Merge commit 'ac778f836fb78550dce8088a567dc8bf5ffb8d2e' into feature/adminfront 2026-02-27 12:41:01 +09:00
f97b989455 테넌트 crud 테스트 코드 추가 2026-02-27 11:28:39 +09:00
ca45a14bae 테넌트 목록 및 조직 계층 구조 개선 2026-02-27 10:29:15 +09:00
Lectom C Han
8a074f16e7 merge feat/304-userfront-wasm-e2e into dev 2026-02-24 15:40:51 +09:00
Lectom C Han
4ffe5110dd e2e 구조변경 2026-02-24 15:23:36 +09:00
4dc4e19c27 test code 수정 2026-02-23 16:50:26 +09:00