← 목록
기타 2026-07-30 2KB 읽기 3분

클라우드 → 메일 정본 IdP 소비자 전환 (연동순서 §4-1)

개요

메일 정본 IdP(§4 방식A, 오프라인 검증)을 클라우드 사이드카(:9662)와 서비스서버(:9611)에 이중 수용으로 연동. 기존 클라우드 자체 세션토큰 검증은 그대로 유지, 실패 시 메일 IdP 통합토큰(id.exp.ver.sig)으로 폴백.

무엇을 했는지

  1. /Users/ef/crowny-services/클라우드관리.한선CM_IdP시크릿초기화/CM_IdP서명/CM_IdP세션버전/CM_IdP검증 추가, CM_인증확정이중(자체→IdP 순) 신설, CM_요청처리의 인증 게이트를 CM_인증확정이중으로 교체. 부팅 시 CM_IdP시크릿 = CM_IdP시크릿초기화().
  2. /Users/ef/crowny-services/서비스서버.한선IdP시크릿전역/IdP서명전역/IdP세션버전전역/IdP외부검증 추가. 기존 인증확정() 내부 흐름에 "자체 Bearer 실패 → IdP외부검증 폴백 → 기존 X-Crowny-Owner 폴백" 순서로 삽입(하위호환 보존). 부팅 시 IdP시크릿전역 = IdP시크릿초기화전역().
  3. 시크릿 /Users/ef/crowny-data/auth/.idp-secret(64hex, 캐시 로드), ver은 /Users/ef/crowny-data/auth/세션버전.psv(id|ver, 미등록=1).
  4. STRICT 2>/dev/null 컴파일 0경고 → 클라우드관리.toau, 서비스서버.toau 재빌드. 사이드카(KeepAlive)는 kill 재기동, :9611은 리스너 kill 후 자가치유(~25초) 대기.

검증 (실측)

항목결과
a. 메일 kps 로그인 → idpToken 발급PASS
b. idpToken → 사이드카 /api/node, /api/chain200/200
c. idpToken → :9611 /api/files200
d. 게이트웨이 cloud.crowny.org/cloudapi/api/tier200
e. 회귀: cloudtest 자체 로그인 → 자체토큰 → 사이드카200 (하위호환 유지)
f. 위조 sig IdP 토큰401 (양쪽)
g. 무토큰401 (양쪽)

관련 파일

  • /Users/ef/crowny-services/클라우드관리.한선
  • /Users/ef/crowny-services/서비스서버.한선
  • /Users/ef/crowny-data/auth/.idp-secret (권한 600)
  • /Users/ef/crowny-data/auth/세션버전.psv
  • 정본 스펙: /Users/ef/crowny-mail/docs/크라우니-통합인증-IdP스펙.md §4

잔여 이슈

  • 다음 연동순서 §4-2 텔레(:9619) 이후 미착수.
  • kps 계정이 클라우드 자체 .json도 이미 보유(data/auth/kps.json) — 자체시크릿과 IdP시크릿이 달라 sig 불일치로 자동 폴백됨을 확인(의도된 동작).