How I Protect My Tanstack Start Applications
- Tanstack Start 애플리케이션에서 관리자 권한이 필요한 특정 라우트를 보호하기 위해 인증 및 권한 부여 검사를 구현 🛡️
beforeAll
훅을 사용하여 서버 및 클라이언트 측에서 라우트 접근을 제어하고, 인증되지 않은 사용자를 리디렉션 🚪
assert
접두사가 붙은 함수를 사용하여 오류 발생 시 리디렉션을 수행하고, 인증 및 권한 검사를 수행 🔑
- 프리미엄 콘텐츠 접근을 제어하기 위해 라우트 로더에서 사용자 권한을 확인하고, 그에 따라 UI를 변경 💎
- 서버 기능에 미들웨어를 적용하여 백엔드 로직을 보호하고, 인증된 사용자만 특정 기능을 실행할 수 있도록 함 ⚙️
- 사용자 세션 관리를 위해 쿠키를 사용하고,
validateRequest
함수를 통해 모든 요청에서 세션 토큰을 검증 🍪
- 역할 기반 권한 부여에 대한 추가 비디오를 제작할 예정 🎬
- 서버 기능을 한 곳에 모아 관리하여 보안 검토를 용이하게 하고, 코드 유지 보수성을 향상 🗂️
- Tanstack Start에서 제공하는
getCookie
및 setCookie
메서드를 사용하여 세션 쿠키를 관리 🍪
- 데이터베이스에서 사용자 정보를 가져와 세션 토큰의 유효성을 검사하고, 필요한 경우 토큰을 갱신 🔄