1
0
forked from baron/baron-sso
Commit Graph

279 Commits

Author SHA1 Message Date
kyy
51e46a4d00 RP 관계 범위의 콘솔 접근 허용 2026-04-20 15:48:42 +09:00
kyy
f955d23ef1 dev API 관계 사용자 검색 및 관계 목록 사용자 정보 추가 2026-04-20 15:48:42 +09:00
kyy
034789b8cb devfront ReBAC 전환 테스트 2026-04-20 15:48:42 +09:00
kyy
dd93a3450a Dev API에 RP operator relation 조회/부여/회수 추가 2026-04-20 15:48:42 +09:00
kyy
8f7c328d22 dev/rp 권한 체크 permit 기준으로 변환 2026-04-20 15:48:42 +09:00
001f29ca5f Merge pull request 'feature/org-chart-tab-separation' (#568) from feature/org-chart-tab-separation into dev
Reviewed-on: baron/baron-sso#568
2026-04-16 09:08:48 +09:00
c114c4187d test(backend): implement missing repository interface methods in mocks
- Implement FindByCompanyCodes and FindByTenantIDs in various test mock repositories to satisfy the UserRepository interface.
2026-04-15 17:58:50 +09:00
726ac71214 fix(user): preserve multi-tenant companyCodes and fix Kratos code parsing
- UpdateUser: Implement 'Preserve & Merge' logic to fetch existing joined
  tenants from Keto and merge them with UI requests, preventing the
  loss of multi-tenant affiliations.
- Keto Sync: Expand the self-healing background job to iterate over all
  companyCodes, ensuring 'members' relations are created for every
  joined tenant (fixes #554).
- AuthHandler: Update extractFirstString to gracefully handle numeric
  JSON types, fixing an issue where Kratos login codes were lost during
  Courier webhook processing.
2026-04-15 16:01:31 +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
kyy
24208893d6 headless link login 애플리케이션 표시 2026-04-14 16:28:01 +09:00
kyy
92f8e9a61a headless password login 접속 이력 반영 2026-04-14 16:28:01 +09:00
a1d508ed69 test(backend): fix tenant_handler_test by adjusting mock call for new ListTenants logic
Adjusts parameter matching on mockSvc.ListTenants to use mock.Anything and mockUserRepo methods, ensuring the test safely covers the newly added allTenants internal sub-query flow without fragile strict args.
2026-04-13 13:23:09 +09:00
010719eee9 feat(backend): allow regular users and tenant admins to list their full tenant trees
Changes the /v1/admin/tenants endpoint to be accessible by all authenticated users (requireAnyUser). In the handler, it dynamically resolves the user's affiliations and filters the response to return the complete hierarchical tree (root, parent, child, sibling nodes) for any tenant they belong to.
2026-04-13 11:56:35 +09:00
ea44785ef0 feat: expand manageableSlugs to include entire tenant tree for users
Allows users and tenant admins to view users across all tenants within their hierarchy (both parent and child organizations) instead of just their direct tenant.
2026-04-13 10:51:29 +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
ea90327507 fix(tests): resolve failing go tests and segfaults due to missing mock interface implementations
- MockKratosAdminService 및 MockTenantService에 새로 추가된 인터페이스 메소드(CreateUser, ListIdentitySessions 등) 구현 추가
- 회원가입 테스트(auth_handler_signup_test.go) 시, isAffiliateTenant 검증 과정에서 TenantService가 nil일 때 발생하는 segfault 방지 로직 보강
- Mock 객체 반환값 타입 불일치 및 testify/mock 매개변수 에러 등 테스트 의존성 전반 수정
2026-04-10 14:40:16 +09:00
5a84e9f6cc Merge branch 'dev' into fix/rebac-env-sync-issue 2026-04-10 13:52:07 +09:00
5211842d47 조직도 기능 추가 2026-04-10 11:38:47 +09:00
kyy
2ef851086d headless URL 호스트 해석 보정 2026-04-10 10:57:38 +09:00
kyy
06a6875cdb App 카드 로고 이미지 표시 2026-04-09 14:37:49 +09:00
kyy
f5c4ffa92f linked RP 응답에 1st-party 앱 자동 로그인 init_url 추가 2026-04-09 14:37:49 +09:00
kyy
9e473ae8a8 userfront 접속이력 타임라인 oathkeeper 세션 ID 보강 2026-04-07 16:07:40 +09:00
kyy
763c04398e 접속이력 OIDC 접속 로그 누락 수정 2026-04-07 16:07:40 +09:00
b3a7f47cf7 feat(auth): lock affiliation type on frontend based on verified email domain (#500) 2026-04-07 14:03:02 +09:00
4e7f3e7235 feat(auth): enforce explicit tenant selection and dynamic filtering (#500)
- Refactor `GetActiveTenants` to filter dynamically based on the email domain, removing hardcoded affiliate slugs.
- Update `Signup` to require an explicit `CompanyCode` choice for internal domains, removing automatic provisioning and implicit tenant assignment.
- Add markdown diagram detailing the revised, secure B2B2B dynamic provisioning and inheritance flow.
2026-04-07 11:58:50 +09:00
332ac9c0d8 feat: dynamic frontend tenant dropdown 2026-04-06 16:56:33 +09:00
c78604df06 feat: implement dynamic tenant provisioning and remove hardcoded company mappings 2026-04-06 16:13:03 +09:00
kyy
1b8dc2c4ab dev 브런치 병합 후 code check 2026-04-06 16:03:49 +09:00
kyy
890ddd9b3c 세션 종료 시 모든 세션 종료 에러 수정 2026-04-06 15:02:42 +09:00
kyy
2ca26cafb2 세션 IP 표시와 로그아웃 처리 보강 2026-04-06 15:02:42 +09:00
kyy
8942c78fb4 활서 세션 카드 audit 메타데이터 기록 보강 2026-04-06 15:02:42 +09:00
kyy
fe70fd216b 세션 카드 디버그용 시나리오 및 테스트 추가 2026-04-06 15:02:42 +09:00
kyy
1524da2d6a 세션 종료 시 Hydra 토큰 세션도 함께 무효화 2026-04-06 15:02:42 +09:00
kyy
a2f2b2dd71 사용자 활성 세션 조회·종료 API 추가 2026-04-06 15:02:41 +09:00
583755c189 fix: improve keto sync reliability and initial rebac permissions for super admin 2026-04-06 10:10:27 +09:00
95aba376b1 chore: fix workspace formatting (devfront, backend, adminfront) 2026-04-03 15:12:27 +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
71a006cd7b fix(headless-login): honor public base url for audience checks
- resolve headless audience against BACKEND_PUBLIC_URL first
- keep forwarded header support for https absolute audiences
- add regression tests for https success and http mismatch rejection
- write BACKEND_PUBLIC_URL into staging workflow env generation
2026-04-01 21:05:41 +09:00
Lectom C Han
4b0fbdde98 레포 업데이트 2026-04-01 20:32:09 +09:00
Lectom C Han
8bab8d44cc chore(headless-login): add request correlation logs 2026-04-01 19:42:09 +09:00
Lectom C Han
c3ae316570 fix(headless-login): simplify jwks policy checks 2026-04-01 19:24:26 +09:00
Lectom C Han
51f09bf53c fix(headless-login): show full parsed jwks key values
- return the full RSA n value in parsedKeys responses
- render parsed key fields with labels and multiline key material in DevFront
- lock the behavior with backend and Playwright regression tests
2026-04-01 18:51:39 +09:00
Lectom C Han
9facd24a00 feat(headless-login): add jwks cache visibility and refresh flow
- replace inline headless jwks support with jwksUri-only validation
- add cached jwks refresh worker, manual refresh/revoke endpoints, and parsed key summaries
- expose allowed algorithms and key previews in DevFront with regression coverage
2026-04-01 18:33:22 +09:00
kyy
d9e8fee64b dev 브런치 병합 code-check 오류 수정 2026-04-01 15:06:46 +09:00
kyy
8d505cec0e Headless Login 앱 타입 오표기 수정 2026-04-01 14:47:35 +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