작성
·
691
0
데이먼님, 오랜만에 인사드립니다. 작년에 서비스 기획 및 엑슈어 강의를 모두 수강하고 PM 부트캠프를 수료한 뒤, 지금은 작은 팀을 꾸려 사이드 프로젝트를 기획/개발하고 있습니다.
아직 실무 경험이 없어 매 단계마다 많은 공수를 들이고 있는데요. 회원가입 정책을 수립하던 중 생긴 고민을 해결하지 못해 질문을 남기게 되었습니다.
엑슈어 강의와는 직접적인 관련이 없어 질문드리기가 좀 조심스러운데요. 바쁘시다면 여유있을 때 간단히라도 답변 주시면 정말 감사할 것 같습니다.
[ 1 ]
현재 회원가입 방식을 이메일로 가입하기와 간편 로그인 두 가지로 채택한 상황인데요.
전자의 경우, 1) (이메일 인증이 완료된) 이메일 주소와 2) (형식에 맞는) 비밀번호를 '고객 테이블'에 저장하고, ID(고유키)는 이메일 주소로 설정할 생각입니다.
그리고 후자의 경우는 1) (소셜 플랫폼 세션에서 제공한) 사용자 식별자와 2) (존재할 경우) 이메일 주소를 '고객 테이블'에 저장할 생각입니다.
[ 질문 ]
후자의 경우, ID(고유키)는 사용자 식별자로만 설정하면 될까요? 아니면 ID 식별을 위한 추가 공정이 더 들어가야 할까요?
(예. 트위터로 간편로그인한 사용자의 식별자가 '@world1215'라면, 'TW@world1215' 같은 방식으로 만들기)
회원가입 방식이 두 가지이니, 고객 테이블도 두 개로 분리해서 관리해야 할까요? 아니면 두 테이블을 연결(혹은 통합)하는게 좋을까요?
테이블을 통합한다면 고객 테이블을 어떻게 구성하면 좋을까요? 통합을 하면 필드 속성이 '사용자 식별자', '이메일 주소', '비밀번호'가 되는데, 간편 로그인으로 가입한 회원의 경우 '이메일 주소'가 없는 경우도 있어서 Null 값이 발생할 수 있어 고민이 됩니다.
(간편 로그인으로 가입한 고객도 그냥 이메일 주소를 다 입력하게 만들어 버릴까요?)
[ 2 ]
그리고 이메일로 가입한 사용자가 간편 로그인으로 또 가입했을 때, 이메일이 중복될 경우 계정을 연동시키게 만들려합니다.
[ 질문 ]
이 경우, 사용자에게 연동 여부를 선택하게 해줘야 할까요? 아니면 임의로 연동시켜버리는게 좋을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
회원가입 방식을 고민 중이시군요. 후자의 경우, ID(고유키)는 사용자 식별자로 설정해도 되는지에 대해 질문하셨는데요. 사용자 식별자가 고유하다면 이를 ID로 설정해도 괜찮습니다. 다만, 만약 소셜 플랫폼에서 제공하는 사용자 식별자가 변경될 가능성이 있다면 이를 고려해서 고유한 ID를 추가로 생성하는 것이 좋을 수 있습니다.
또한, 보안을 고려한다면 비밀번호를 가능한 한 복잡하게 설정하고 해싱 같은 암호화 기술을 이용해 저장하는 것이 좋습니다. 더불어 이메일 주소도 고유한 값이기 때문에 이를 ID로 설정해도 괜찮지만 개인정보 보호 관련 법률을 고려해야 합니다.
고민 중이신 문제를 다른 개발자 분들과 공유하면서 함께 해결해보시는 것도 좋은 방법일 수 있습니다.
아무런 도움이 되지 못했지만, 조금이나마 도움이 되었기를 바랍니다. 감사합니다.