1
0
forked from baron/baron-sso
Files
baron-sso/docs/worksmobile-sync-policy.md

39 lines
2.1 KiB
Markdown

# Worksmobile Sync Policy
## 겸직 소속 비교 정책
Baron과 WORKS 모두 한 사용자가 여러 조직에 동시에 소속될 수 있다. 따라서 사용자 소속 비교는 배열 순서나 대표 조직 우선순위만으로 불일치를 판단하지 않는다.
### Membership Set 우선
사용자 소속 비교의 기본 단위는 `domainID + orgUnitID`로 구성한 membership set이다.
- Baron expected organization과 WORKS remote organization의 membership set이 같으면 같은 소속으로 본다.
- 같은 membership set 안에서 `organization.primary` 또는 `orgUnit.primary` 우선순위만 다른 경우는 보정 사유가 아니다.
- GPDTDC와 본소속이 모두 있는 사용자도 같은 규칙을 적용한다.
### 보정 대상
다음 차이는 계속 보정 대상이다.
- Baron에는 있는데 WORKS에 없는 orgUnit membership
- WORKS에는 있는데 Baron에는 없는 orgUnit membership
- 비교 대상 position 값 차이
- 비교 대상 manager 값 차이
### 보정 제외
다음 차이는 사용자 `organization` update reason으로 만들지 않는다.
- 같은 membership set에서 GPDTDC와 본소속의 primary 우선순위만 다른 경우
- 같은 membership set에서 WORKS의 조직 배열 순서만 다른 경우
## Grade 비교 정책
직급(`grade`) 차이는 WORKS 사용자 보정 대상이다. 단, 비교 기준은 사용자 전역 `user.grade`가 아니라 테넌트 소속 정보에 연결된 `additionalAppointments[].grade`이다.
- Baron의 테넌트 소속별 `grade`는 같은 WORKS `orgUnit` membership이 속한 organization level과 비교한다.
- 같은 membership에서 Baron 테넌트 소속 `grade`와 WORKS organization level이 다르거나 WORKS level이 비어 있으면 `grade` update reason으로 본다.
- GPDTDC 산하 테넌트의 연구원 직급과 그 외 테넌트의 일반 직급은 직급체계가 다르므로 서로 교차 비교하지 않는다.
- GPDTDC와 본소속을 모두 가진 사용자는 각 membership의 테넌트 소속 `grade`와 해당 WORKS organization level만 각각 비교한다.