메신저(msg.crowny.org:9939) IdP 통합인증 연동
개요
메일 정본 IdP(§크라우니-통합인증-IdP스펙.md)를 메신저서버.한선에 오프라인 검증(방식A)으로 이식.
기존 무인증 참여자검증 동작은 그대로 두고, Authorization: Bearer 토큰이 오면 신원만 추가 증명.
한 일
- /Users/ef/CrownyOS/apps/메신저/kps/메신저서버.한선에 MSG_IdP시크릿초기화/MSG_IdP서명/MSG_IdP세션버전/MSG_IdP아이디검증/MSG_IdP검증/MSG_인증헤더추출/MSG_IdP신원 추가 (참조: /Users/ef/crowny-services/클라우드관리.한선 CM_IdP*)
- API전송/API전송NL에서 IdP 신원 확정 시 저장 리터럴 필드 끝에 " [인증됨:<id>]" 부가 (WAL 스키마 6필드 불변)
- 서버시작에서 MSG_IdP시크릿 부팅 1회 캐시
- 백업: 메신저서버.한선.bak-IdP연동-20260730
검증(실측)
- STRICT 컴파일 exit=0, 24902 큐브
- mail login → idpToken 발급 (81자)
- Bearer 토큰으로 send → poll에 "[인증됨:kps]" 마킹 확인
- 위조 sig 토큰 send → 정상 처리되지만 인증됨 마킹 없음(신원 미확정, 강제거부 아님 — 무인증과 동일 취급됨. 사양상 "인증 강제 아님"이므로 200 유지가 맞음)
- 무토큰 send → 기존과 동일 200, 마킹 없음
- 회귀: 미등록 발신자(unknownuser) → 기존과 동일 {"error":"unknown sender"} 거부 확인
무토큰 거부(스펙 검증4)는 이 서비스에 해당없음 — 지시대로 인증 비강제이므로 무토큰 200이 정상.
잔여 이슈
- /tmp/메신저서버.err에 "[STR] 조기경고: 문자열 핸들 432000/480000 (90%)" 관측 — 기존 장수서버 문자열풀 누수 함정(MEMORY 기록 기존 이슈), 이번 작업 범위 아님. 필요시 200요청마다 문자열GC() 삽입 검토.