인증 문제 디버깅을 위한 5가지 쿠키 트릭

웹 앱에서 인증 문제를 디버깅하는 작업은 시간이 많이 걸립니다. 다양한 사용자 유형을 테스트하기 위해 매번 새 계정을 만들거나 모든 쿠키를 삭제하느라 시간을 허비하곤 합니다.

데이터베이스를 건드리지 않고도 어떤 상태든 테스트할 수 있습니다. 쿠키를 직접 조작하는 다음 다섯 가지 기술을 활용해 보세요.

  1. 모든 것을 삭제하는 대신 특정 쿠키만 타겟팅하기

모든 쿠키를 삭제하면 개발 서버 세션, 로컬 스토리지, Stripe 테스트 모드까지 모두 사라집니다. 대신 인증(auth) 쿠키만 삭제하세요.

일반적인 이름은 다음과 같습니다:

  • session
  • sid
  • auth_token
  • _session_id

DevTools에서 Application > Cookies > [본인의 도메인]으로 이동합니다. 세션 쿠키를 마우스 오른쪽 버튼으로 클릭하고 Delete를 선택하세요. 이렇게 하면 다른 설정은 그대로 유지하면서 사용자 상태만 로그아웃 상태로 초기화할 수 있습니다.

  1. 온보딩 플래그를 삭제하여 신규 사용자 시뮬레이션하기

앱은 사용자가 설정을 완료했는지 추적하기 위해 쿠키를 사용합니다. onboarding_completefirst_visit 같은 이름을 찾아보세요.

신규 사용자 흐름을 테스트하려면:

  • 현재 쿠키를 내보냅니다(Export).
  • 온보딩 플래그를 삭제합니다.
  • 페이지를 새로고침합니다.

이를 통해 새 계정 없이도 단계별 UI 분기점을 테스트할 수 있습니다.

  1. 스냅샷을 사용하여 30초 만에 사용자 역할 전환하기

앱에 Admin이나 Guest와 같은 다양한 역할이 있다면, 매번 수동으로 로그인/로그아웃하지 마세요. 쿠키 스냅샷을 사용하세요.

  • Admin으로 로그인합니다. 쿠키를 admin-session.json으로 내보냅니다.
  • 일반 사용자(Regular User)로 로그인합니다. 쿠키를 user-session.json으로 내보냅니다.
  • 역할을 전환하려면 JSON 파일을 가져오기(Import)한 뒤 페이지를 새로고침하기만 하면 됩니다.

서버는 세션 토큰을 신뢰합니다. 여러분은 이미 생성된 유효한 세션을 사용하는 것입니다. 이 JSON 파일들은 민감한 세션 토큰을 포함하고 있으므로 로컬에 안전하게 보관하세요.

  1. 만료된 세션을 즉시 테스트하기

세션이 만료될 때까지 몇 시간씩 기다리지 마세요. 만료 날짜를 수동으로 변경하면 됩니다.

DevTools에서 세션 쿠키의 Expires 열을 더블 클릭합니다. 날짜를 과거의 시점으로 설정하세요. 페이지를 새로고침하면 세션이 타임아웃되었을 때 어떤 일이 발생하는지 정확히 확인할 수 있습니다.

  1. 로그인 리다이렉트 루프 해결하기

루프는 주로 오래되었거나 형식이 잘못된 쿠키 때문에 발생합니다. 세션은 존재하지만 서버에서 이를 거부하는 경우입니다.

원인을 찾으려면:

  • 모든 인증 관련 쿠키를 식별합니다.
  • 하나씩 삭제합니다.
  • 삭제할 때마다 페이지를 새로고침합니다.

루프가 멈추는 순간, 문제가 된 쿠키를 찾은 것입니다. 이를 통해 문제가 잘못된 토큰 때문인지, 아니면 잘못된 쿠키 도메인 때문인지 파악할 수 있습니다.

DevTools와 CookieJar 같은 확장 프로그램은 브라우저 레벨에서 작동하므로, 이 방법들은 HttpOnly 쿠키에도 적용됩니다.

출처: https://dev.to/ktg0215/5-cookie-tricks-for-debugging-auth-issues-in-chrome-no-more-creating-test-accounts-43b5