1
0
forked from baron/baron-sso
Commit Graph

218 Commits

Author SHA1 Message Date
ai-cell-a100-1
7ecb19e397 fc 2026-04-24 15:22:45 +09:00
7f955e2122 style: fix formatting issues caught by biome in adminfront 2026-04-21 17:11:08 +09:00
4427ab1f85 fix: resolve admin session infinite reload loop and sync auth state
- Prevent infinite redirection loop by clearing oidc-client user state on 401 errors.
- Sync apiClient request interceptor to use userManager.getUser() for reliable token retrieval.
- Add extensive console logs for better session issue diagnosis.
- Fix TS error in LoginPage by updating button variant.
- Revert 'ae03fe1' (updated playwright fixtures to real domain) as requested.
2026-04-21 17:06:03 +09:00
ae03fe1475 chore: update playwright fixtures to use real SSO domain
Since the OIDC authority was updated to https://sso.hmac.kr/oidc, the Playwright mocks and localStorage seed values must match exactly for tests to pass in the new configuration.
2026-04-21 15:02:53 +09:00
0f79b7635b fix: resolve OIDC session state issue and synchronize portal sessions
Details:
- Backend: Extract Kratos session cookies and propagate via SetCookies in AuthInfo.
- Backend: Include sessionJwt and token during OIDC flows in PasswordLogin.
- UserFront: Add _silentSessionRecovery in main.dart to recover session via cookies if localStorage token is missing.
- UserFront: Update AuthProxyService, AuthTokenStore, AuthNotifier to support silent recovery and immediate local state update before redirect.
- AdminFront/DevFront: Fix OIDC authority to point directly to Gateway proxy and add recovery/error UI components.
2026-04-21 14:10:27 +09:00
kyy
141c8e0ab5 dev 브런치 반영 code-check 오류 수정 2026-04-20 16:34:04 +09:00
55be717ff6 fix(adminfront): resolve biome noNonNullAssertion lint in TenantSchemaPage 2026-04-20 10:00:46 +09:00
de2c684096 fix: follow rules of hooks in TenantSchemaPage 2026-04-20 09:56:49 +09:00
b757a137c3 fix: follow rules of hooks in TenantSchemaPage 2026-04-20 09:32:32 +09:00
a9a448e7fb test: update translation text for organization members locator 2026-04-17 18:01:07 +09:00
582591e532 style: apply biome formatting to e2e tests 2026-04-17 17:42:41 +09:00
ad5a49b62f test: update adminfront e2e tests for new organization UI 2026-04-17 17:39:28 +09:00
9f3506c530 fix(adminfront): resolve biome accessibility and typing lints 2026-04-17 16:49:23 +09:00
acab84c358 refactor(adminfront): 조직도 UX 전면 개편 및 중복 렌더링 버그 수정
- 1안(좌우 분할 디렉토리 뷰) 적용으로 트리와 상세 패널 분리
- 조직도 중복 나열 버그 원인인 불필요한 groupNodes 강제 병합 로직 제거
- 멤버 탭과 하위 조직 탭을 통합한 세로 스크롤 뷰 구현
- 다국어 키 {count} 처리 문제 우회용으로 텍스트 직접 렌더링 수정
- 우측 설정 메뉴에 상세 프로필로 이동 링크 추가 및 쓸모없는 상세 페이지 라우팅 제거
- '기존 사용자 배정'만 남기고 사용자 '신규 생성' 제거
- DropdownMenu 컴포넌트 추가 및 관련 UI 업데이트
2026-04-17 16:32:22 +09:00
ef996c8394 fix(adminfront): fix lint error in AppLayout.tsx
- Define NavItem interface to properly type navigation items
- Remove unsafe 'as any' cast in navigation mapping
2026-04-15 17:48:41 +09:00
a49aa2d31f refactor(adminfront): remove internal org-chart and delegate to orgfront
- Remove TenantOrgChartPage and related internal routes
- Update AppLayout to render external links for org-chart navigation
- Add orgfront service configuration to docker-compose.yaml
2026-04-15 17:44:54 +09:00
948dc2236b feat(orgchart): Introduce standalone orgchart RP and shared link public API
This commit includes:
- Added SharedLink data model and Keto-bypassed public API for orgchart view
- Configured 'orgfront' as a new OAuth2 client in hydra
- Applied MH Dashboard premium beige theme to OrgChart
- Implemented user lookup fallback to company code
2026-04-14 18:01:27 +09:00
0cd43f0aea feat(adminfront): restore top-right tenant filter buttons in new org chart
Re-adds the group tabs ('전체', '한맥엔지니어링', etc.) to the top-right corner to allow users to filter the org chart by root tenant, restoring the lost functionality from the previous multi-tenant upgrade.
2026-04-13 11:30:40 +09:00
9ff49230fc feat(adminfront): map multi-tenant users onto Tenant Full Tree
Reimplements the Org Chart using the Tenant Full Tree API and maps users to all their respective tenants (including joinedTenants). Multi-tenant users are duplicated correctly across nodes they belong to.
2026-04-13 11:20:41 +09:00
b08516f557 Revert "feat(adminfront): rebuild Org Chart strictly based on Tenant Full Tree"
This reverts commit 3bd8724d45.
2026-04-13 11:07:26 +09:00
3bd8724d45 feat(adminfront): rebuild Org Chart strictly based on Tenant Full Tree
Replaces the legacy user-department-based org chart generation with one driven by the actual Tenant hierarchy from the database (via fetchTenants) while still mapping users dynamically to their respective nodes.
2026-04-13 11:01:44 +09:00
d3a82d1653 feat: allow regular users to view their own tenant's org chart
Changes the /users endpoint to allow RoleUser access and securely restricts the returned data to only users within their affiliated tenants. Removes the unnecessary back button from the Org Chart view since it's now a top-level nav item.
2026-04-13 10:47:56 +09:00
984adcfa62 feat(adminfront): add org chart to sidebar navigation
Adds the Organization Chart tab to the main sidebar for all users. Removes the 'View Org Chart' button from the Tenant List page. Enhances active state logic for nested routes.
2026-04-13 10:38:04 +09:00
12b8958a72 fix(adminfront): fix react hooks violation in UserDetailPage causing infinite loading
- Fix 'Rendered fewer hooks than expected' crash by moving useMemo hook definition above all early returns
- Resolves e2e test timeout failures in users_schema.spec.ts and users.spec.ts
2026-04-10 17:44:00 +09:00
6c6fab3ea3 fix(adminfront): fix tenant slug display and metadata save issue in user detail page
- Fix 'System Global' displaying by replacing user.tenantSlug with user.companyCode returned by backend
- Prevent primary tenant from being unlinked when saving 'Tenant Profile' tab by ensuring userAffiliatedTenants always includes the primary tenant, preventing react-hook-form from clearing the tenantSlug value.
2026-04-10 17:26:25 +09:00
a96ef3d204 fix(i18n): fix duplicate TOML section for ui.admin.tenants
- Prevent template overwrite caused by duplicate section parsing logic
- Ensures '테넌트 목록' correctly renders instead of '테넌트 구성원 ({{count}})'
2026-04-10 15:58:56 +09:00
addb0fe042 fix(adminfront): fix e2e test assertions and biome linter errors
- Fix strict biome errors in OrgChartUploadModal and TenantOrgChartPage (key indices, any types, aria roles, hook dependencies)
- Fix duplicate translation blocks that broke the i18n parser
- Fix UI label assertions in Playwright e2e tests due to updated i18n keys
2026-04-10 15:12:09 +09:00
4293013d4f chore(i18n): sync adminfront locales with new keys
- Adminfront 화면에 표시될 한국어/영어 문구(테넌트 검색, 총 n개 로그 등) 추가
2026-04-10 14:49:19 +09:00
ec0c6eae26 fix(adminfront): resolve typescript build errors on CI
- Fix missing position and jobTitle properties in BulkUserItem interface
- Fix incorrect reference to undefined total property in AuditLogsPage (reverted to logs.length)
2026-04-10 14:43:56 +09:00
5a84e9f6cc Merge branch 'dev' into fix/rebac-env-sync-issue 2026-04-10 13:52:07 +09:00
349cdf5fcd feat(org): 조직도 렌더링 및 동기화 로직 대폭 개선, 역할(Role) 강제화, 탭 정리
- 조직도 렌더링 시 너비 동적 계산 및 스크롤 문제 해결
- 하위 조직(Leaf)을 부모 박스 내부에 임베딩하여 2열로 깔끔하게 표시되도록 조직도 UI 전면 개편
- 사용자 생성/수정 및 CSV 업로드 시 직급(Position)과 직무(JobTitle)가 정상적으로 Kratos 및 로컬 DB에 동기화되도록 백엔드 API 수정
- CSV 조직도 업로드 시 계층 구분을 '/' 대신 ' > '로 변경하여 이름에 '/'가 포함된 부서(예: 평면/셀)가 분리되지 않도록 보호
- 잘못 입력된 과거 직책 데이터(팀장, 그룹장 등)를 'user' 권한으로 일괄 초기화하고, 이후 'role' 필드에 시스템 권한(user, tenant_admin, super_admin) 외의 값이 들어오지 않도록 백엔드 정규화 로직 강화
- 사용자 목록 페이지의 페이지네이션 제한을 50명에서 1000명으로 상향 조정
- 테넌트 목록 페이지에 이름/슬러그 기반 검색 기능 추가
- 관리자 UI 전반에서 불필요한 배지(Admin only, System 등) 제거 및 테넌트 상세 페이지의 미사용 '외부 연동' 탭 삭제
2026-04-10 13:48:12 +09:00
5211842d47 조직도 기능 추가 2026-04-10 11:38:47 +09:00
kyy
969d32eaca runtime host 0.0.0.0 수정 2026-04-10 10:57:38 +09:00
kyy
c6ddf7c485 code check 오류 수정 2026-04-09 16:45:26 +09:00
kyy
24f477a28e adminfront 로그인 페이지에 auto redirect SSO 진입 추가 2026-04-09 14:37:49 +09:00
6971b69b79 feat(admin): add org chart bulk import button to main tenants list page (#500) 2026-04-07 16:42:23 +09:00
kyy
6a3bb19e7d 세션 만료 관리 토글 동작을 실제 정책에 맞게 분리 2026-04-06 15:02:42 +09:00
aaa3dc2fb9 fix: use vite preview in staging to support api proxy in frontends 2026-04-06 11:47:33 +09:00
59d53bc1b2 chore(adminfront): fix Biome formatting issues 2026-04-03 15:03:08 +09:00
a65f9afc69 chore(adminfront): fix Biome lint error in user E2E test 2026-04-03 15:00:57 +09:00
94520db699 test(adminfront): fix Playwright E2E tests for user and schema management 2026-04-03 14:48:04 +09:00
bae35dd8a5 chore(ci): disable auto-open of playwright html reporter 2026-04-03 11:48:38 +09:00
02a52fdb38 test(adminfront): fix flaky tests caused by missing dynamic loginId field and greedy URL mocks 2026-04-03 11:43:16 +09:00
692670a081 fix(adminfront): fix type errors in UserDetailPage causing build failures in CI 2026-04-03 10:27:26 +09:00
8dacb9ddba perf(ci): use vite build and preview in playwright to speed up E2E tests 2026-04-03 10:09:42 +09:00
f0bf58d336 fix(ci): update Node 24 and playwright workers, fix user detail queries on create 2026-04-03 09:46:26 +09:00
797c6b0b8a chore: fix frontend lints and format issues
- Resolve 'noDelete' by using undefined assignment in TenantSchemaPage
- Resolve React list key warning by using client_id in UserDetailPage
- Run biome formatter across modified components
2026-04-02 16:46:54 +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
Lectom C Han
4b0fbdde98 레포 업데이트 2026-04-01 20:32:09 +09:00
kyy
d9e8fee64b dev 브런치 병합 code-check 오류 수정 2026-04-01 15:06:46 +09:00