chan
1f9512a5a7
Merge pull request 'feat/id_login' ( #497 ) from feat/id_login into dev
...
Reviewed-on: baron/baron-sso#497
2026-04-01 13:59:24 +09:00
chan
37bc1bba22
chore: add missing i18n keys and fix devfront formatting
2026-04-01 13:58:06 +09:00
chan
8a4dc1a320
i18
2026-04-01 13:55:57 +09:00
chan
ded1e1f5c4
fix(backend): fix merge conflict artifact and undefined explicitLoginID in UserHandler
2026-04-01 13:45:56 +09:00
chan
634f869a84
Merge branch 'dev' into feat/id_login
2026-04-01 13:40:45 +09:00
chan
6c1da03e91
style(userfront): apply dart format
2026-04-01 13:36:34 +09:00
chan
5bf3ef3222
test(e2e): skip coordinate-based WASM tests on mobile
2026-04-01 13:34:23 +09:00
chan
5502e35dc5
chore(adminfront): fix any types and biome lint errors in adminApi.ts
2026-04-01 13:22:11 +09:00
chan
fdffeacf50
fix(backend): fix loginIdField not being synced when companyCode is empty
2026-04-01 13:13:26 +09:00
chan
54a853a5c6
fix(backend): fix syncLoginID to allow fields named 'id' to be synced from custom schema
2026-04-01 13:03:39 +09:00
chan
27a7d226eb
fix(backend): map Kratos traits id to loginId in UserSummary API response
2026-04-01 11:29:13 +09:00
chan
a5fdeabd09
fix: resolve tenant user assignment bug ( #490 )
...
- Fix frontend payload mapping (tenantSlug -> companyCode) in adminApi.ts.
- Fix backend group member fetching to avoid dummy members in UserGroupService.List.
- Fix backend foreign key violation on group creation by distinguishing between tenant parent and group parent in UserGroupService.Create.
2026-04-01 11:19:09 +09:00
chan
6b30580f36
fix(backend): force keto outbox sync on explicit tenant assignment to self-heal missing relations
2026-03-31 17:51:53 +09:00
chan
bc73b85909
feat(backend): auto-sync user group keto relation based on department in user update
2026-03-31 13:50:23 +09:00
chan
5029b8049b
fix(backend): prevent duplicate key constraint on empty login id when syncing users
2026-03-31 13:11:32 +09:00
chan
2a162f0efe
Merge pull request 'temp-branch' ( #464 ) from temp-branch into dev
...
Reviewed-on: baron/baron-sso#464
2026-03-27 21:40:38 +09:00
chan
dcc5708d17
린트 적용용
2026-03-27 21:37:40 +09:00
chan
809ece6a68
chore: ignore playwright artifacts in biome and fix minor devfront imports
2026-03-27 21:27:03 +09:00
chan
2e14c9d6fe
test(backend): update expected error message for invalid company code to match korean translation
2026-03-27 21:18:51 +09:00
chan
543607069e
fix(userfront): correctly display general signup errors in a dialog instead of password field
2026-03-27 20:59:00 +09:00
chan
13469b14fb
fix: refine error messages for signup failure and company code
2026-03-27 20:39:49 +09:00
chan
603b9e0032
fix(backend): resolve signup issues by fixing tenant slug case-sensitivity and exposing Kratos errors
2026-03-27 20:03:50 +09:00
chan
987b4797bb
style(userfront): add missing curly braces for flow control structures
2026-03-27 19:21:33 +09:00
chan
8f78dbf68c
test(adminfront): add E2E tests for login ID validation and conflict handling
2026-03-27 19:06:51 +09:00
chan
b3f33cfa30
Merge pull request 'temp-branch' ( #461 ) from temp-branch into dev
...
Reviewed-on: baron/baron-sso#461
2026-03-27 19:02:42 +09:00
chan
aa8dc05311
chore(i18n): fix sync errors by adding missing keys to ko and en locales
2026-03-27 18:48:19 +09:00
chan
17168bceae
Merge branch 'dev' into temp-branch
2026-03-27 18:42:59 +09:00
chan
a75ae1de9a
format error 수정
2026-03-27 18:41:49 +09:00
chan
f8d10c90b8
style(userfront): apply dart format
2026-03-27 18:10:32 +09:00
chan
6192220ec1
fix(adminfront): fix Biome lint errors by removing explicit any types
2026-03-27 18:02:53 +09:00
chan
5ae0e19e31
style: apply backend go fmt and frontend biome auto-fixes
2026-03-27 17:57:03 +09:00
chan
2383c6a6be
Merge commit '6a50dc280f9c7e71fe09481ee76c4c9c6d5fe710' into temp-branch
2026-03-27 17:41:59 +09:00
chan
ffba1563a7
chore: add missing i18n keys to satisfy i18n-scanner
2026-03-27 17:41:22 +09:00
chan
6a50dc280f
chore: add missing i18n keys to satisfy i18n-scanner
2026-03-27 17:38:52 +09:00
chan
641e4aba0d
fix(adminfront): fix auth redirection in tests and add custom field validation
...
- Skip auth redirect to `/login` when `_IS_TEST_MODE` is true to prevent test timeouts.
- Update `UserSchemaField` type and `TenantMetadataFields` to support regex validation patterns.
- Fix translation key for tenant profile metadata section title.
- Enhance OIDC mock data and mock endpoints in `users_schema.spec.ts`.
- Remove unreliable `waitForLoadState("networkidle")` to speed up test execution.
2026-03-27 17:30:30 +09:00
chan
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
chan
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
chan
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
chan
6337d975ea
fix: Admin UI에서 전송한 커스텀 필드(metadata)가 백엔드 Kratos 트레이츠에 빈 배열로 깨져서 저장되는 문제 해결 ( #440 )
2026-03-25 17:43:30 +09:00
chan
dc4a5921c6
chore: 정상 동작이지만 노이즈를 유발하는 Kratos 세션 체크 실패(401) 로그 메시지 수정
2026-03-25 17:29:10 +09:00
chan
5d81027b34
fix: UpdateMe 핸들러 내 계층형 메타데이터 처리 및 로그인 ID 동기화 로직 보강
2026-03-25 17:14:40 +09:00
chan
b3f0548c10
fix: 불필요한 역할 오버라이딩(Overriding real profile role) 로그 제거
2026-03-25 17:11:47 +09:00
chan
ab9cbfc897
fix: 권한이나 소속이 변경되지 않았을 때 Keto 권한 릴레이션이 불필요하게 삭제 후 재생성되는 버그 수정
2026-03-25 17:01:55 +09:00
chan
aad4ea84a1
fix: 내 정보(UpdateMe) 수정 시 커스텀 필드 로그인 ID 동기화 및 Metadata 필드 추가 ( #440 )
2026-03-25 16:28:19 +09:00
chan
6a4c37603d
fix: Admin UI 커스텀 필드 로그인 ID 반영 문제 및 비밀번호 초기화 동작 개선 ( #440 )
...
- 사용자 정보 수정(UpdateUser) 시 메타데이터(커스텀 필드)를 명시적 loginId 값보다 우선하여 동기화하도록 로직 순서 변경
- Admin UI 사용자 상세의 비밀번호 초기화 기능이 즉시 폼에 덮어씌워지는 문제 해결을 위해, 별도의 확인 절차 후 즉각 독립적인 API 호출을 통해 재설정되도록 개선
2026-03-25 16:26:01 +09:00
chan
d83646a7ef
fix: 소유자 및 관리자 추가 시 중복 등록 방지 로직 추가 ( #440 )
2026-03-25 16:05:39 +09:00
chan
c244917737
fix: adminfront utils.ts 내 generateSecurePassword 함수 추가
2026-03-25 15:46:11 +09:00
chan
7c21e500d6
fix: CreateUser 핸들러 내 누락된 LoginID 필드 추가 및 오타 수정
2026-03-25 15:34:29 +09:00
chan
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
chan
6fbf1a17b8
Merge pull request 'feature/af-ui' ( #449 ) from feature/af-ui into dev
...
Reviewed-on: baron/baron-sso#449
2026-03-24 17:18:05 +09:00
chan
d97feffebb
Merge branch 'dev' into feature/af-ui
2026-03-24 17:15:03 +09:00
chan
ab999c1e16
i18n 검증 완료
2026-03-24 17:12:24 +09:00
chan
79b7abd67b
Merge branch 'dev' into feature/af-ui
2026-03-24 16:48:56 +09:00
chan
1d37bf5420
test code제외
2026-03-24 16:40:28 +09:00
chan
ddef0f7f05
레거시 수정
2026-03-24 16:37:47 +09:00
chan
a669d57e4a
test code i18n x
2026-03-24 16:37:01 +09:00
chan
311e491683
누락된 키 추가: 테넌트 수정 화면에 새롭게 추가한 '상위 테넌트' 관련 UI 키 2종을 로컬 설정 파일에 반영했습니다
2026-03-24 16:33:01 +09:00
chan
a4f283e4e6
#445 #430 #426 #427
2026-03-24 14:22:05 +09:00
chan
b0e18cc724
refactor(adminfront): rename legacy companyCode to tenantSlug across frontend ( #426 )
2026-03-23 16:59:05 +09:00
chan
b2f96b216d
fix(adminfront): remove any type casting for react-router v7 flags ( #427 )
2026-03-23 16:32:50 +09:00
chan
d608bdb5a8
refactor(adminfront): replace sonner with custom use-toast matching devfront UX policy
2026-03-23 15:32:32 +09:00
chan
2de22869c0
Merge pull request 'adminfront ui 개편' ( #415 ) from feature/af-ui into dev
...
Reviewed-on: baron/baron-sso#415
2026-03-23 09:07:04 +09:00
chan
d0e4f8f86a
adminfront ui 개편
2026-03-20 10:58:52 +09:00
chan
409cb09143
Merge pull request 'feature/af-issue380' ( #406 ) from feature/af-issue380 into dev
...
Reviewed-on: baron/baron-sso#406
2026-03-19 17:19:45 +09:00
chan
a70e637bca
fix: consolidate duplicated sections in i18n toml files to prevent userfront layout break
2026-03-19 17:14:28 +09:00
chan
067f9f9baf
test: increase playwright poll timeout for password login failure and reset tests
2026-03-19 14:52:40 +09:00
chan
a6536364ec
i18n add
2026-03-19 14:43:51 +09:00
chan
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
chan
3e335eb9cf
feat: add schema tab access control and user password generator
2026-03-19 13:40:50 +09:00
chan
046acd3ca6
style: fix table header stickiness and improve visibility for all list pages
2026-03-19 13:30:16 +09:00
chan
aff21f195b
style: make page headers sticky and improve table header contrast/visibility
2026-03-19 13:23:02 +09:00
chan
926c26b1ad
feat: apply sticky header and inner scroll to audit logs page
2026-03-19 13:15:50 +09:00
chan
f072d37362
feat: apply sticky header and inner scroll pattern to all table pages
2026-03-19 13:13:27 +09:00
chan
83991b13ca
feat: implement sticky header and inner scrolling for user list page
2026-03-19 12:57:00 +09:00
chan
4d11d3e554
feat: disable remove button for self and last admin/owner in UI
2026-03-19 11:21:03 +09:00
chan
a6c552236f
feat: prevent self-removal and last admin/owner removal in tenant handler
2026-03-19 11:12:42 +09:00
chan
4b42249609
Merge pull request 'fix: remove shared VITE_OIDC_CLIENT_ID from staging .env so adminfront uses correct client ID' ( #400 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#400
2026-03-19 09:59:49 +09:00
chan
edf914f100
fix: remove shared VITE_OIDC_CLIENT_ID from staging .env so adminfront uses correct client ID
2026-03-19 09:58:44 +09:00
chan
1dc3a01257
Merge pull request 'fix: force recreate init-rp container to ensure OIDC clients are updated' ( #399 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#399
2026-03-19 09:47:02 +09:00
chan
f2c2a8511c
fix: force recreate init-rp container to ensure OIDC clients are updated
2026-03-19 09:45:30 +09:00
chan
e3e36d6e40
Merge pull request 'fix: add new staging domains and IP to redirect URIs and vite allowedHosts' ( #398 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#398
2026-03-19 09:33:15 +09:00
chan
caa1152268
fix: add new staging domains and IP to redirect URIs and vite allowedHosts
2026-03-19 09:31:46 +09:00
chan
d95fec4651
Merge pull request 'fix: use non-distroless image for init-rp to allow shell execution' ( #397 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#397
2026-03-19 09:24:50 +09:00
chan
ff37ad918a
fix: use alpine image and download hydra binary for init-rp to fix distroless shell issue
2026-03-19 09:22:35 +09:00
chan
57702fc672
fix: use non-distroless image for init-rp to allow shell execution
2026-03-18 17:05:19 +09:00
chan
9cee09c140
Merge pull request 'fix: load env_file in init-rp for staging compose' ( #396 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#396
2026-03-18 17:02:09 +09:00
chan
f8384bda9e
fix: load env_file in init-rp for staging compose
2026-03-18 17:00:37 +09:00
chan
46f74ec7ad
Merge pull request 'fix: add allowedHosts to Vite config for staging domains' ( #395 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#395
2026-03-18 16:49:34 +09:00
chan
161c0163d3
fix: add allowedHosts to Vite config for staging domains
2026-03-18 16:48:59 +09:00
chan
09f681b8dd
Merge pull request 'fix: add init-rp to staging compose to register OIDC clients' ( #394 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#394
2026-03-18 16:47:20 +09:00
chan
f59206e589
fix: add init-rp to staging compose to register OIDC clients
2026-03-18 16:45:19 +09:00
chan
51bbde5dd7
Merge pull request '호출 주소 변경' ( #393 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#393
2026-03-18 16:17:50 +09:00
chan
406eef240d
호출 주소 변경
2026-03-18 16:16:46 +09:00
chan
d3442cdc33
Merge pull request '│ 130 + VITE_OIDC_AUTHORITY=${{ vars.VITE_OIDC_AUTHORITY }} │' ( #391 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#391
2026-03-18 14:49:34 +09:00
chan
6c7581d558
│ 130 + VITE_OIDC_AUTHORITY=${{ vars.VITE_OIDC_AUTHORITY }} │
...
│ 131 + ADMINFRONT_CALLBACK_URLS=${{ vars.ADMINFRONT_CALLBACK_URLS }} │
│ 132 + DEVFRONT_CALLBACK_URLS=${{ vars.DEVFRONT_CALLBACK_URLS }}
추가
2026-03-18 14:49:04 +09:00
chan
e535f1838b
Merge pull request '로그인 설정 업데이트' ( #390 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#390
2026-03-18 14:24:11 +09:00
chan
99def9a0e5
로그인 설정 업데이트
2026-03-18 13:32:09 +09:00
chan
5ffc0198a3
Merge pull request 'fix/login' ( #389 ) from fix/login into dev
...
Reviewed-on: baron/baron-sso#389
2026-03-18 13:05:55 +09:00
chan
725ba375d2
Merge branch 'dev' into fix/login
2026-03-18 13:05:10 +09:00
chan
a89b25f54c
이슈 #335 해결
2026-03-18 12:59:40 +09:00