개발자

소셜로그인을 지원할때 소셜로그인과 로컬로그인 계정이 같은 경우 어떻게 해야하나요

2024년 01월 22일조회 338

제가 만든 db는 email이 unique라서 공통된 email은 들어올 수 없습니다 그렇다면 소셜로그인으로 사용자가 로그인할때 이미 해당 email이 들어있다면 사용자에게 통합할꺼냐고 물어봐야하나요? 만약 a라는 사람이 b와 같은 이메일을 가지고 있는데 a는 구글로그인으로 가입한사람 b는 로컬로 가입한 사람이라면 어떻게 해야하는 걸까요? Email을 unique로 가져가는건 틀린 선택인건가요? 고수님들은 어떻게하는지 궁금합니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

인기 답변

삭제된 사용자님의 프로필 사진

삭제된 사용자

2024년 01월 23일

저는 이메일 중복 허용하고, 상태값을 사용해서 구분하는 방법으로 구현했습니다. user1@email.com / normal user1@email.com / kakao user1@email.com / naver user1@email.com / gogle 소셜 플랫폼이 달라도 같은 이메일을 쓰는 경우가 있기 때문에, 유니크로 잡지 않고 가는게 구현하기 더 편하더라구요 ㅎㅎ..

1user1@email.com / normal
2user1@email.com / kakao
3user1@email.com / naver
4user1@email.com / gogle
profile picture

익명

작성자

2024년 01월 23일

그래서 방금 개인프로젝트 디비에 acccount type 컬럼을 추가했습니다 ㅎㅎ 프론트라 백까지 만지기 힘드네요 ㅠ

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 01월 22일

소셜 로그인의 경우 공통된 이메일 문제를 다루는 방법은 몇 가지가 있습니다. 1. **통합계정**: 사용자가 처음 소셜 로그인을 시도할 때, 해당 이메일이 이미 존재하는 경우 통합 계정을 제안합니다. 사용자에게 그들의 소셜 계정이 동일한 이메일로 등록된 기존 계정과 연관되어야 함을 알려주고, 필요한 경우 추가 인증 절차를 거치도록 안내합니다. 2. **별도의 계정 관리**: 로컬 이메일과 소셜 로그인 모두 유지하며, 각각 별도로 관리합니다. 즉, 같은 이메일 주소여도 로컬 로그인과 구글(or 다른 소셜 서비스) 로그인은 서로 다른 계정으로 처리됩니다. 3. **Email 확인 절차**: 만약 사용자가 소셜로그인으로 가입 시도시 이미 해당 이메일이 존재한다면, 원래 이메일 주소의 주인에게 확인 메일을 보낼 수 있습니다. 그 후 사용자 확인을 거쳐 통합하거나 별도의 계정으로 관리를 진행할 수 있습니다. 어떤 방법이 옳은지는 상황과 어플리케이션의 도메인에 따라 다르므로 고려해야 할 사항입니다. 이메일을 unique로 가져가는 것은 일반적으로 좋은 선택이지만, 이러한 상황에 대비해 소셜 로그인을 구현할 때는 신중히 접근해야 합니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!