# Baron SSO org-context identity mirror 복구 요청 문서

작성일: 2026-07-03

목적: `tdc114plus` 앱의 직원검색/조직도 API가 외부 Baron SSO `org-context` 사용자 데이터를 정상적으로 조회할 수 있도록, Baron SSO 담당 개발자에게 현재 장애 상태와 필요한 조치 사항을 명확히 전달하기 위한 요청 문서다.

## 1. 요청 요약

현재 `tdc114plus` 연동 경로에서 Baron SSO 외부 `org-context` API의 조직 트리 조회는 가능하지만, 사용자 포함 조회가 아래 오류로 실패하고 있다.

```json
{"error":"identity mirror is not ready","code":"internal_error"}
```

따라서 Baron SSO 원본 서비스 `sadmin.hmac.kr` 측에서 `org-context` 사용자 조회에 필요한 identity mirror를 `ready` 상태로 복구하거나 재구성해 주는 조치가 필요하다.

## 2. 요청 목적

이번 요청의 목적은 아래와 같다.

- `tdc114plus`가 Baron backend를 통해 한맥가족 전체 직원 데이터를 정상 조회할 수 있도록 함
- 앱의 직원검색/조직도 데이터 소스를 `org-context` 기준으로 안정화

즉 외부 `org-context` 원본 사용자 데이터를 기준으로 앱 내부 데이터 구성이 가능하도록 복구함

## 3. 현재 확인된 사실

### 3-1. 인증 정보 자체는 정상

- 팀에서 전달받은 값은 `public/orgchart?token=...`용 token이 아니라 `GET /api/v1/integrations/org-context`용 API Key이다.
- 로컬 Baron SSO API worktree `.env`에는 아래 값이 반영되어 있다.
  - `TDC114PLUS_ORG_CONTEXT_BASE_URL`
  - `TDC114PLUS_ORG_CONTEXT_KEY_ID`
  - `TDC114PLUS_ORG_CONTEXT_KEY_SECRET`
  - `TDC114PLUS_ORG_CONTEXT_TENANT_SLUG=hanmac-family`
  - `TDC114PLUS_ORG_CONTEXT_INCLUDE_USERS=true`
  - `TDC114PLUS_ORG_CONTEXT_INCLUDE_USER_IDS=true`

### 3-2. 로컬 Baron backend 최신 코드/환경 반영은 확인

- `tdc114plus` 연동 handler는 외부 `org-context`를 우선 사용하도록 이미 반영했다.
- `baron_backend` 컨테이너 rebuild/recreate 후 실행 중 env에도 `TDC114PLUS_ORG_CONTEXT_*` 값이 주입된 것을 확인했다.

### 3-3. 현재 실제 장애 양상

외부 API를 직접 확인한 결과는 아래와 같다.

1. `includeUsers=false`

- 요청:
  - `GET /api/v1/integrations/org-context?tenantSlug=hanmac-family&includeUsers=false&includeUserIds=false`
- 결과:
  - `200 OK`
- 해석:
  - 조직 트리/tenant 구조 자체는 조회 가능

2. `includeUsers=true`

- 요청:
  - `GET /api/v1/integrations/org-context?tenantSlug=hanmac-family&includeUsers=true&includeUserIds=true`
- 결과:
  - `500 Internal Server Error`
- 응답:

```json
{"error":"identity mirror is not ready","code":"internal_error"}
```

- 해석:
  - 사용자 포함 `org-context` 조회 시 Baron SSO 원본 서비스 쪽 identity mirror가 준비되지 않아 실패

### 3-4. tdc114plus에서 보이는 영향

- `baron_backend` 최신 코드 반영 후 앱 연동 직원조회 경로는 `503 dependency_unavailable`로 실패
- backend 로그:

```text
[Tdc114Plus] external org-context employee load failed error="org-context status 500"
```

- 즉, 현재 `tdc114plus`는 외부 사용자 org-context를 쓰려 하지만 원본 서비스가 `500`을 반환해 앱에서 전체 직원 정보를 검증할 수 없는 상태다.

## 4. Baron SSO 담당 개발자에게 요청할 내용

아래 내용을 요청한다.

1. `sadmin.hmac.kr`의 `GET /api/v1/integrations/org-context`에서 `includeUsers=true` 요청이 정상적으로 동작하도록 복구해 달라.
2. 현재 `identity mirror is not ready`가 발생하는 원인을 확인해 달라.
3. 필요한 경우 Kratos 기준 identity mirror warmup/full rebuild/recovery/reconciliation 작업을 수행해 달라.
4. 복구 후 아래 조건으로 재검증해 달라.
   - `tenantSlug=hanmac-family`
   - `includeUsers=true`
   - `includeUserIds=true`
5. 복구 완료 후 응답이 `200 OK`로 내려오고, `tenants[].members`에 실제 사용자 데이터가 포함되는지 확인해 달라.

## 5. Baron SSO 쪽에서 필요한 처리 방향

현재 코드/운영 정책 문서 기준으로 예상되는 처리 방향은 아래와 같다.

1. `sadmin.hmac.kr` 원본 backend 로그에서 identity mirror warmup 실패 여부 확인
2. Redis identity mirror 상태 확인
   - `identity:mirror:state`
3. Kratos Admin 연결/조회 가능 상태 확인
4. identity mirror warmup 또는 full rebuild 수행
5. 필요 시 repair / reconciliation / drift report 수행
6. 복구 후 `includeUsers=true` org-context 재검증

코드상 참고 포인트:

- 서버 시작 시 identity mirror warmup 수행 경로:
  - `backend/cmd/server/main.go`
- identity mirror rebuild 경로:
  - `backend/internal/handler/user_handler.go`
- org-context member export가 identity mirror 상태를 사용한다는 점:
  - `backend/internal/handler/tenant_handler.go`

## 6. 이 요청이 처리되면 바로 이어서 가능한 작업

Baron SSO 쪽 복구가 완료되면 `tdc114plus` 쪽에서는 아래 작업을 바로 이어서 진행할 수 있다.

1. 앱 연동 조직도 데이터가 `cache.source=org-context`로 전환됐는지 확인
2. 앱 연동 직원검색 데이터가 한맥가족 전체 직원 데이터를 반환하는지 검증
3. 앱 연동 직원상세 데이터가 외부 사용자 id 기준으로 정상 조회되는지 검증
4. 중복 사용자, 다중 소속, tenant 없는 사용자 처리 정책 재점검
5. Flutter 앱에서 직원검색/조직도 실데이터 진입 검증

## 7. 요청 결과가 성공일 때의 완료 기준

아래 조건이 만족되면 이번 요청이 해결된 것으로 본다.

- `GET /api/v1/integrations/org-context?tenantSlug=hanmac-family&includeUsers=true&includeUserIds=true`
  - `200 OK`
- 응답 body에 `tenants[].members[]` 실제 사용자 데이터가 포함됨
- `tdc114plus` 앱 연동 데이터가 `org-context` 기준으로 정상 구성됨

## 8. 전달용 짧은 요청 문안

아래 문안을 Baron SSO 담당 개발자에게 전달하면 된다.

```text
tdc114plus 연동 중 Baron org-context 사용자 포함 조회가 실패하고 있습니다.

- tenantSlug=hanmac-family
- includeUsers=false: 200 OK
- includeUsers=true: 500 {"error":"identity mirror is not ready","code":"internal_error"}

로컬 Baron backend 최신 코드와 org-context env 반영까지는 확인했습니다.
현재는 sadmin.hmac.kr 원본 org-context의 identity mirror가 ready가 아니어서
tdc114plus의 직원검색/조직도 사용자 조회가 막혀 있습니다.

org-context 사용자 조회에 필요한 identity mirror warmup / rebuild / recovery를 확인해 주시고,
복구 후 includeUsers=true 요청이 200으로 내려오도록 조치 부탁드립니다.
```
