[Feature] civil-engineering-lab 프로젝트 인증 시스템 통합 및 보안 게이트웨이 구축 #12
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
목표
headless-login-demo에서 검증된 OIDC Headless 인증 시스템을civil-engineering-lab프로젝트(Astro 기반)에 통합하여, 인증된 사용자만 시스템에 접근할 수 있도록 보안 게이트웨이를 구축합니다.작업 단계별 계획
1. 인프라 및 환경 설정 (Setup)
civil-engineering-lab프로젝트의 SSR 모드 활성화 (astro.config.mjs수정)openid-client,jose,express-session,dotenv.env환경 변수 구성 (OIDC Issuer, Client ID, Redirect URI 등)keys.json관리 로직 이식2. 인증 백엔드 엔진 이식 (Auth Engine)
/.well-known/jwks.json노출)POST /api/login: 사번 기반 Password GrantPOST /api/send-link: 전화번호 인증링크 발송POST /api/poll: 인증 상태 폴링3. 보안 미들웨어 및 라우팅 (Security)
/login으로 리다이렉트/api/auth관련 경로는 예외 처리POST /api/logout) 및 세션 파기 로직4. 프론트엔드 통합 (UI/UX)
src/pages/login.astro생성: 기존index.html기반의 UI 구현app.js로직을 Astro/Vanilla JS 컴포넌트로 변환5. 검증 및 최적화
baron-sso와의 연동 테스트기대 효과
civil-engineering-lab내 모든 리소스에 대한 강력한 접근 제어작업 완료 보고
civil-engineering-lab프로젝트와headless-login-demo인증 시스템의 통합 작업이 기본적으로 완료되었습니다.완료된 주요 항목:
.env설정에 따라 Astro(UI 기반) 또는 Express(API 기반)로 구동 가능하도록 개선.src/lib/oidc_service.js로 분리하여 코드 중복 제거.index.astro,home.astro)로 완벽히 복원.src/middleware.ts를 통해 모든 페이지에 대한 접근 제어 로직 수립.특이 사항: