← 목록

SSO 미들웨어 실제 서비스 배포 (Node.js 9개 + TOAU 라이브러리)

개요

2026-04-15 통합 인프라 완성 이후, 각 서비스에 SSO 미들웨어를 실제로 삽입하고 LaunchAgent 재기동으로 라이브 배포. auth.crowny.org 를 LaunchAgent로 영구 구동 전환.

무엇을 했는지

1. auth.crowny.org LaunchAgent 승격

2. SSO 미들웨어에 raw-http 헬퍼 추가

3. 10개 Node.js 서비스 일괄 패치

자동 패치 스크립트 patch_sso_into_services.sh 실행:

서비스포트LaunchAgent상태
patent9732org.crowny.patent✅ 재기동 완료
stock9731org.crowny.stock
artist9734org.crowny.artist
avl9737org.crowny.avl
avls9736org.crowny.avls
card9450
mind7750
trading7740
int9500
security9502미등록⚠️
church (9310): ES module + 동기 핸들러 — 별도 패치 설계 필요 (스킵)

패치 내용 (각 server.js에 2줄 삽입):

jsconst sso = require('/Users/ef/crowny-data/auth/sso-middleware.js');  // 상단
// createServer 핸들러 최상단:
req.ssoUser = await sso.authenticate(req, 'patent').catch(() => null);

비침해적 설계: req.ssoUser 만 주입. 기존 로직/인증 전혀 변경 없음. 토큰 있으면 자동 touch 발생.

4. TOAU 서비스용 한선씨 SSO 라이브러리

  • /Users/ef/CrownyOS/crownyc/libs/SSO인증.한선 (신규)
  • 기능:
  • 토큰추출(요청텍스트) — Bearer 토큰 파싱
  • 쿠키토큰추출(요청텍스트) — crowny_token 쿠키
  • 토큰검증(토큰, 호스트, 포트) — auth 서버에 GET /api/verify 소켓 호출
  • 서비스접속기록(사용자, 서비스, 호스트, 포트) — POST /api/touch fire-and-forget
  • 요청인증(요청텍스트, 서비스명) — 올인원 편의 함수
  • 컴파일: 345KB TOAU, 12,328 큐브 (EXIT=0)
  • 의존성: 문자열.한선, JSON.한선
  • 대상 서비스 (향후 실제 통합):

    검증

    auth 회원:       176명 (prev 174 → +2 마이그레이션 재실행 여파)
    총 서비스 링크:   16건
      main:    13명
      bank:     1명 (kps)
      stock:    1명 (kps)
      project:  1명 (ef)
    
    패치 서비스 실제 구동 확인:
    - patent:9732 HTTP 200 (api/dashboard 정상 응답)
    - stock:9731 HTTP 200
    - artist:9734 HTTP 200
    - avl/avls/card/mind/trading/int HTTP 200
    

    관련 파일 경로

    인프라

    SSO

    자동화

    백업

    잔여 이슈

    ✅ 완료: TOAU 3서비스 실제 통합 (2026-04-17)

    ✅ 완료: church ES module 패치 (2026-04-17)

    ✅ 완료: 토큰 발급 UX (2026-04-17)

    잔여: 레거시 독자 인증 제거

    ✅ 완료: VM 맵꺼내 근본 수정 (2026-04-17)

    ✅ 완료: 회원관리.한선 맵 통일 (2026-04-17)

    ✅ 완료: SSO 위젯 (2026-04-17)

    ✅ 완료: 셀 슬롯 접근 API 불일치 수정 (2026-04-17)