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

집사회(deacon:9772) 크라우니 통합 IdP 연동

개요

메일 정본 IdP 스펙(§4-1, 오프라인검증 방식A)을 집사회에 이식. 기존 서비스간 통신용 X-Deacon-Key 경로는 그대로 유지하고, Authorization: Bearer <통합토큰>이 오면 사람 신원(id)을 식별하는 분기를 추가 — 지금까지 전부 익명이던 미션/티켓 작업에 "누가 했는지" 추적 가능해짐.

무엇을 했는지

  • /Users/ef/crowny-deacon/서버.한선DC_IdP* 함수군 추가(참조구현
/Users/ef/crowny-services/클라우드관리.한선 CM_IdP와 동형): 시크릿 부팅1회캐시, id 화이트리스트, sig 계산, 세션버전 조회, 토큰 검증.
  • _인증확인이중(소켓,요청): X-Deacon-Key 우선(성공 시 "서비스" 반환) → 없거나
무효면 Bearer 통합토큰 검증(성공 시 id 반환) → 둘 다 실패면 403.
  • 미션 생성(POST /api/council/mission): 기존 스키마의 발행자 필드(미션생성 3번째
인자, 원래 하드코딩 "api")에 실제 신원을 채움 — 스키마 변경 없음, 기존 필드 의미를 실질화했을 뿐.
  • 클레임(/api/council/claim)·보고(/api/council/report): 티켓.psv에는 사람-id 필드가
없음(모델/처리자=AI 모델명 용도로 이미 사용 중, 스키마 변경은 금지 지시됨) → 신규 append-only 사이드 감사로그 /Users/ef/crowny-deacon/data/IdP감사.psv (시각|경로|티켓ID|id)에 IdP 경유(사람) 호출만 기록. X-Deacon-Key(서비스) 경로는 로그하지 않음(신원="서비스"는 필터링).

관련 파일

  • /Users/ef/crowny-deacon/서버.한선 (수정) — 백업 서버.한선.bak-IdP연동-20260730
  • /Users/ef/crowny-deacon/data/IdP감사.psv (신규, append-only)
  • 참조: /Users/ef/crowny-services/클라우드관리.한선 CM_IdP, /Users/ef/crowny-mail/docs/크라우니-통합인증-IdP스펙.md

검증 (실측)

  1. STRICT 컴파일 0경고(CROWNY_STRICT=1 hanseonc_high — 경고 라인 없음)
  2. 배포.sh 표준 배포 — kickstart 후 재기동스모크 [티/정상], 장부검증 회귀 12/12
  3. mail:9610 /api/auth/login(kps/kps1234) → idpToken 발급 확인
  4. Bearer만으로(무 X-Deacon-Key) /api/council/mission 200, 생성된 미션 발행자="kps" 확인
  5. 위조 sig 토큰 → 403
  6. 무토큰 → 403
  7. 회귀: 기존 X-Deacon-Key 경로 /api/council/mission 200(변함없음)
  8. claim/report도 Bearer로 정상 동작 + IdP감사.psvclaim|T130|kps, report|T130|kps 기록 확인.
같은 티켓을 X-Deacon-Key로 claim한 건은 로그에 미기록(신원="서비스" 필터 정상)

잔여 이슈

  • 집사회 서버는 단일 커넥션 순차 처리(동시요청 시 뒷 요청이 커넥션 큐잉으로 일시
타임아웃 관찰 — 이번 변경과 무관한 기존 구조적 특성, 별개 이슈로 남김).
  • 티켓 단위 사람-id는 사이드 로그(IdP감사.psv)로만 추적됨 — 티켓.psv 본 스키마에
전용 필드를 넣으려면 스키마 변경이 필요하므로 지시에 따라 보류(보고 사항).