개발자
inflearn에서 AOuth로그인 레퍼런스 조사하다가 kakao 이메일(예시: test@gmail.com)과 구글 이메일(예시: test@gmail.com) 같으니까 동일한 계정으로 로그인이 됐어요. 만약에 이메일이 동일한데 kakao로 먼저 누군가 가입을 해서 사용중인데 다른 사용자가 동일한 이메일로 구글 가입하면 어떻게 처리해야하나요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 04월 07일
이러한 상황에서는 시스템 디자인에 따라 다르지만, 대부분의 경우는 동일한 이메일 주소를 사용하여 서로 다른 OAuth 제공 업체(예: Kakao와 Google)를 통해 로그인을 하려고 하면 충돌이 발생합니다. 일반적으로 이런 경우를 방지하기 위해 가입 시점에서 이메일 중복을 체크하거나 사용자가 중복된 계정을 병합할 수 있는 옵션을 제공하는 것이 좋습니다. 병합 옵션을 제공할 때는 아래와 같은 단계가 필요합니다. 1. 사용자가 새로운 OAuth 제공 업체로 로그인을 시도하면, 그리고 그 이메일 주소가 이미 데이터베이스에 있으면, 사용자에게 이미 계정이 있다는 메시지를 보여줍니다. 2. 그 후에 사용자가 원한다면 두 계정을 병합하는 옵션을 제공하며, 이때 보통 원래 계정의 패스워드 입력 등 추가 인증 절차를 거치게 됩니다. 혹은, 각각의 OAuth 공급자마다 고유한 ID를 생성하여 관리하는 방법도 있습니다.다시 말해서, kakao와 google 모두 같은 이메일 주소로 가입되어도 내부적으로 서로 다른 유저로 관리되는 방식입니다. 이 경우, 이메일주소가 아닌 공급자 별 고유한 사용자 ID를 통해 유저를 관리하게 됩니다. 하나의 이메일을 사용하여 여러 계정이 생성되어 서로다른 인증 수단으로 로그인이 가능하도록 하려면 복잡한 시스템 설계와, 그에 따른 보안 부분을 충분히 고려해야 합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!