Skip to content

fix(pwa): 인증 프록시에서 PWA 경로 허용 - #42

Merged
sunwoo162 merged 2 commits into
mainfrom
fix/pwa-asset-auth-bypass
Oct 28, 2026
Merged

sunwoo162 merged 2 commits into
mainfrom
fix/pwa-asset-auth-bypass

Conversation

@sunwoo162

Copy link
Copy Markdown
Contributor

개요 💡

인증 프록시가 PWA 매니페스트와 Firebase 서비스 워커 요청을 로그인 페이지로 리다이렉트하던 문제를 수정합니다.

작업내용 ⌨️

  • /manifest.webmanifest와 /firebase-messaging-sw.js를 공개 프록시 경로로 허용
  • 공개 경로 판별 로직을 별도 모듈로 분리
  • PWA 프록시 회귀 테스트 추가
  • CI에서 회귀 테스트 실행

검증

  • pnpm test:proxy
  • 전체 테스트 54개 통과
  • pnpm lint
  • pnpm check-types
  • NEXT_PUBLIC_API_URL=http://localhost:8080 pnpm build

관련 issue 🤯

관련 이슈 없음

@vercel

vercel Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
washer Ready Ready Preview Oct 28, 2026 1:19am UTC

Request Review

@inryeok-bot inryeok-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

변경사항과 관련 코드 경로를 확인했으며, 현재 수정이 필요한 문제는 발견하지 못했습니다.

@jjhhss100906

Copy link
Copy Markdown
Contributor

확인했습니다! matcher에서 .webmanifest/.js가 제외되지 않아 PWA 매니페스트와 서비스 워커 요청이 /sign-in으로 리다이렉트되던 문제가 잘 해결될 것 같습니다 👍 기존 공개 경로(/api/, /sign-in, /app-download)도 그대로 유지되는 것 확인했습니다.

몇 가지 의견 드립니다.

  1. src/shared/lib/publicProxyPaths.mjs를 .ts로 작성하는 건 어떨까요? 기존 테스트들은 ../src/shared/lib/formatCountdown.ts처럼 .ts 파일을 직접 import하고 있어서, src 안에 .mjs 파일만 따로 있는 게 기존 패턴과 달라 보입니다. 지금은 pathname 파라미터 타입도 지정되지 않아서 publicProxyPaths.ts + pathname: string으로 두고, 테스트는 [web] 로그인 화면 반응형 대응 #41 때처럼 --experimental-strip-types로 실행하면 타입도 챙길 수 있을 것 같습니다.
  2. (선택) CI에 pnpm test:proxy만 추가되어 있어서 tests/의 나머지 테스트들은 여전히 CI에서 실행되지 않는 것 같습니다. 이번 PR 범위는 아니라서, 필요하면 전체 테스트 스크립트는 따로 다뤄도 좋을 것 같습니다.

@sunwoo162

Copy link
Copy Markdown
Contributor Author

의견 반영했습니다.

  1. publicProxyPaths.mjs를 publicProxyPaths.ts로 변경하고 pathname: string 타입을 명시했습니다. proxy.ts와 테스트 import도 함께 수정했습니다. TypeScript 직접 import 테스트를 위해 test:proxy에 --experimental-strip-types를 적용하고 CI Node 버전도 22로 조정했습니다.

    • 후속 커밋: ef7d37b refactor(pwa): 공개 프록시 경로 유틸 타입 명시
    • 전체 테스트 54개, lint, typecheck, build 및 CI 통과
  2. 전체 tests/ 실행을 CI에 추가하는 건 이번 PR 범위를 넓히지 않기 위해 제외했습니다. 필요하면 별도 PR로 다루겠습니다.

@jjhhss100906 jjhhss100906 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영 확인했습니다! 감사합니다 👍

@sunwoo162
sunwoo162 merged commit 18b8b7a into main Oct 28, 2026
3 checks passed
@sunwoo162
sunwoo162 deleted the fix/pwa-asset-auth-bypass branch October 28, 2026 01:26

This branch was successfully deployed

1 active deployment
Preview — ef7d37b5 Deployed Oct 28, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants