Conversation
1."회원가입" 개념은 없어요, GitHub 연동으로 자동 계정이 생성되는 방식입니다. 2.이 db 기준으로 설명하겠습니다. 로그인이 되어 있는 상태의 버전은 세션이 유지되는 일주일 동안 자동으로 dashboard 페이지가 기본 화면으로 배치가 됩니다. 로그인이 되어 있지 않은 상태의 버전은 이 상태만 지정이 되어 있습니다. 3.요건 이 db 기준으로 설명하겠습니다. Insert는 아까 제가 말을 올렸듯이 사용자 첫 로그인 할때, 그 값을 해당 테이블에 저장하는 방식으로 보시면 될 거 같구요 update는 GitHub에서 프로필 정보 변경 시 우리 DB도 최신화하는 방식이라고 보면 될 거 같아요 이렇게 해서 나중에 데이터 불일치 문제를 해소하고자 했어요. ex. 추가적으로 회원 가입 방식도 논의해볼 수 있으면 좋을 거 같아요.
제가 다녔던 회사에선 보통 3 + 4를 쓰긴 했어요. 이 부분은 나중에 조원들이랑 같이 생각해봐요 |
|
1.말씀하신 대로 초기 기획에서는 화이트리스트 방식으로 결정했었는데, 화이트리스트 방식의 기술적 고려사항: DB 운영하는 사람이 힘들 수도
신입이 서비스에 접근하면 (실제 사례)
확장성 문제
화이트리스트여도 보안 이슈가 있을 수 있음
2.로컬 테스트 완료했습니다 성공 케이스:
실패 케이스:
백엔드 API 응답도 정상 확인했습니다. 3.맞습니다! UPSERT로 구현한 이유는: UPDATE 시나리오:
INSERT 시나리오:
이렇게 하면 사용자가 GitHub에서 정보를 바꿔도 우리 서비스에서 4.초기 기획때 화이트리스트로 결정한 것 맞습니다. 다만 구현하면서 다음과 같은 대안들을 고려해봤는데 어떻게 생각하시나요?
|







PR
PR 요약
하드코딩된 ownerId = 1 보안 취약점을 해결하고, NextAuth + JWT 기반의 완전한 인증 시스템을 구현. 이제 사용자별로 독립된 프로젝트 관리가 가능
변경된 점
이슈 번호
#186