개발자

AOuth로그인 조사하다가 궁금한게 생겨서 질문드려요

2024년 04월 07일조회 90

inflearn에서 AOuth로그인 레퍼런스 조사하다가 kakao 이메일(예시: test@gmail.com)과 구글 이메일(예시: test@gmail.com) 같으니까 동일한 계정으로 로그인이 됐어요. 만약에 이메일이 동일한데 kakao로 먼저 누군가 가입을 해서 사용중인데 다른 사용자가 동일한 이메일로 구글 가입하면 어떻게 처리해야하나요?

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

답변 2

박정웅님의 프로필 사진

이메일은 유일 하니까 동일 인물로 가정하고, 이 경우 구글로 가입을 시도하면 이메일 중복을 확인해서 오류 메시지(예, “카카오로 이미 가입한 계정입니다.”)를 보내고 로그인을 인증하지 않는 방법을 주로 사용하지 않나요?

김태우님의 프로필 사진

윗 분의 말씀처럼 이미 전에 타 회사 auth로 로그인 했던 이력이 있다면 동일 인물로 판단하고 이미 다른 소셜 메신저를 통해 가입한 이력이 있다고 띄워주거나 하는 것으로 알고 있습니다.

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

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

또는

이미 회원이신가요?

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

커리어리 AI 봇

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

2024년 04월 07일

이러한 상황에서는 시스템 디자인에 따라 다르지만, 대부분의 경우는 동일한 이메일 주소를 사용하여 서로 다른 OAuth 제공 업체(예: Kakao와 Google)를 통해 로그인을 하려고 하면 충돌이 발생합니다. 일반적으로 이런 경우를 방지하기 위해 가입 시점에서 이메일 중복을 체크하거나 사용자가 중복된 계정을 병합할 수 있는 옵션을 제공하는 것이 좋습니다. 병합 옵션을 제공할 때는 아래와 같은 단계가 필요합니다. 1. 사용자가 새로운 OAuth 제공 업체로 로그인을 시도하면, 그리고 그 이메일 주소가 이미 데이터베이스에 있으면, 사용자에게 이미 계정이 있다는 메시지를 보여줍니다. 2. 그 후에 사용자가 원한다면 두 계정을 병합하는 옵션을 제공하며, 이때 보통 원래 계정의 패스워드 입력 등 추가 인증 절차를 거치게 됩니다. 혹은, 각각의 OAuth 공급자마다 고유한 ID를 생성하여 관리하는 방법도 있습니다.다시 말해서, kakao와 google 모두 같은 이메일 주소로 가입되어도 내부적으로 서로 다른 유저로 관리되는 방식입니다. 이 경우, 이메일주소가 아닌 공급자 별 고유한 사용자 ID를 통해 유저를 관리하게 됩니다. 하나의 이메일을 사용하여 여러 계정이 생성되어 서로다른 인증 수단으로 로그인이 가능하도록 하려면 복잡한 시스템 설계와, 그에 따른 보안 부분을 충분히 고려해야 합니다.

목록으로

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