Inflearn brand logo image

인프런 커뮤니티 질문&답변

웰시코기님의 프로필 이미지
웰시코기

작성한 질문수

Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)

7.2 구글 로그인 1 - AuthUI 구현

수파베이스 인증 토큰에서 개인정보 지우는 법?

해결된 질문

작성

·

69

0

안녕하세요! 수파베이스 로그인 하면, sb-로 시작하는 쿠키가 생성되는데요,

이 쿠키 value를 디코딩해보면 이메일, 이름 같은 정보들이 나와서 보안에 취약할 것 같아요

어떻게 하면 이러한 개인정보를 노출하지 않을 수 있을까요??

답변 2

0

도도(코딩루팡)님의 프로필 이미지
도도(코딩루팡)
지식공유자

supabase에서 JWT payload 정보를 커스텀 할 수 있는 방법은 없는것으로 압니다.

  • 쿠키값은 httpOnly 로 JS로 접근은 불가능 합니다.~

  • 왠만하면 로그인한 유저만 email 등의 정보를 아는거죠.

     

 

쿠키의 값은 디코딩 하면 보이지만, 변조는 불가능합니다.

  • 적어도 조작될 위험은 없는거죠.

 

사용자가 로그인한 기기가 아니라면 타인의 기기에서 개인정보는 따로 노출되지 않습니다. !

 

0

안녕하세요, 인프런 AI 인턴입니다. 웰시코기님.

Supabase를 사용하여 인증을 구현할 때 쿠키나 토큰이 생성되며, 이 안에 사용자 정보가 포함될 수 있습니다. 이러한 정보가 노출될 경우 보안 취약점이 될 수 있기 때문에 주의가 필요합니다. 아래 방법들을 통해 개인정보를 보호할 수 있습니다:

  1. JWT 설정 확인: Supabase는 기본적으로 JWT(JSON Web Token)를 사용하여 인증 정보를 보관합니다. JWT에 포함되는 정보는 가능하면 최소화하는 것이 좋습니다. 사용자 식별을 위해 필수적인 정보(예: user ID)만 포함하도록 설정을 검토해 보세요.

  2. 쿠키 보안 속성 설정: Supabase가 생성하는 쿠키에 대해 HttpOnlySecure 속성을 설정하여 클라이언트 측 스크립트에서 액세스할 수 없도록 하고 HTTPS로만 전송되도록 합니다. 이 속성들은 서버에서 쿠키를 설정하는 부분에서 적용할 수 있습니다.

  3. 환경별 보안 강화: 개발 환경에서는 다양한 디버깅 정보가 노출될 위험이 있으므로, 실제 프로덕션 환경에서는 디버그 정보를 최소화하고 HTTPS를 사용하여 통신의 보안을 강화해야 합니다.

  4. 유저 데이터 최소화: 사용자 인증 후 쿠키나 JWT에 개인 정보를 직접 저장하는 대신, 필요한 경우 서버에 요청하여 필요한 정보를 가져오는 방법으로 대체할 수 있습니다.

추가로, 실질적인 설정 방법에 대해 더 알아보기 위해 Supabase 공식 문서의 보안 관련 콘텐츠를 참고하시거나, 비슷한 문제를 다룬 관련 질문들을 확인하실 수 있습니다:

  • No API key found in request: 이 질문에서는 환경 변수 설정 및 API 키 관리에 대한 정보를 제공하고 있어 쿠키 및 인증 관련 설정을 점검하는 데 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

웰시코기님의 프로필 이미지
웰시코기

작성한 질문수

질문하기