TIL#171 google login

Dasom·2024년 3월 29일
0

Django

목록 보기
33/34

퇴사를 하게 되고 한두달만 쉬려던 것이 건강문제와 이사문제가 연달아 생기면서 길게 쉬어버렸다😥😥
그동안 아무것도 못한 만큼 이제 다시 시작하는 마음으로 달려나가보려한다😆

먼저 전부터 프론트엔드 개발자 지인과 같이 진행해보려던 사이드 프로젝트를 하기로 했다.
만들고 싶었던 어플이 2가지 있었는데(순전히 내가 써보고 싶어서..ㅎㅎ) 그 중 하나로 정했다.
2가지 모두 시중에 비슷한 어플들이 있지만, 그래도 어디 비슷한 어플들이 없는 주제가 있으려나...😅

24년도가 되면서 나는 무늬만 4년차 개발자인, 실제 경력은 만 3년이 조금 안되는 개발자가 되었고 그 기간 동안 주력 언어가 python, 주력 프레임워크가 django 가 되어 있었다. 다니던 회사들에서 프론트 엔드 개발도 하게 되어서 vuejs 도 할 줄 알게 되어 나름 풀스택 개발자이기도 하다. 그래서 이번 사이드 프로젝트에서 혼자 다 해볼까도 했지만 시간상의 문제도 있고 백엔드 쪽을 조금 더 집중해 보고 싶어서 프론트엔드 개발자 지인과 함께하게 되었다:)

새로운 언어에 도전하는 것도, 새로운 프레임워크를 시도하는것도 좋아서 어떤 언어, 어떤 프레임워크를 써볼까 고민을 했지만, 실제 주력 프레임워크인 django도 다녔던 회사의 github에만 내 코드가 있기 때문에 내 github에 제대로 된 django 프로젝트를 올려보기로 했다.

보통 프로젝트를 진행하게 되면 초기세팅 후에 회원가입/로그인 기능부터 하게 되고 우리도 그렇게 진행하기로 하였다. 요즘 어플들을 보면 일반 회원가입, 로그인보다는 소셜 로그인이 대부분이기 때문에 우리도 그렇게 하기로 하였고, 나도 지인도 B2B 로만 개발을 해보았기 때문에 소셜 로그인은 안해보았다는 공통점이 있었다. 시작부터 사이드 프로젝트를 진행하기로 한 의미가 생긴 것 같다🙂


코드를 제대로 구현하기 전에 구글 로그인 과정을 대략적으로 순서도로 그려 보았다.

코드를 구현하기에 앞서 Google Cloud Console에 로그인 하여 새 프로젝트를 생성해야 한다. 생성 후에 사용자 인증 정보로 들어가 OAuth 2.0 클라이언트 ID를 웹 애플리케이션용으로 설정하여 생성한다.

그 후에 코드를 구현하면 된다. 코드 관련해서도 구글링을 여러번 하다 보니 궁금증이 생겼다.
User 테이블과 외래키로 연결되있는 SocialAccount 테이블을 따로 만들어서 관리하는 것이 개발적인 측면이나 유저 관리측면에서 효율적이라는 것을 알게 되었다. 그런데 보통 사람들이 소셜 로그인을 꼭 하나만 하는 것은 아니기 때문에 만약 어떤 사용자가 구글 로그인을 하였다가 다음에는 카카오 로그인을 하게 되는 경우 같은 사용자라는 것을 어떻게 알 것인가? 라는 질문이 들었다.

구글링도 해보고 챗지피티에게도 물어본 결과로는 구글과 카카오 로그인만 놓고 보아도 두 소셜 네트워크 간에 사용자를 식별하는 고유 식별자가 있지만 이 식별자들은 두 소셜 네트워크가 서로 달라서 직접적인 비교가 불가능하다고 한다.
따라서 같은 사용자인지 식별을 위해서는 제일 많이 쓰는 방법이 이메일 주소나 전화번호를 비교하여 동일하면 같은 사용자로 간주하는 경우인 것 같다. 그 외에도 각 사용자 정보들(이름, 생일 등의 정보)을 비교하여 유사성을 확인하는 방법 등이 있는 것 같다.

직접 개발 코드를 작성하면서 더 자세히 알아봐야겠다.


혹시 자세한 의견이나, 제가 올린 글에 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다😁

profile
개발자꿈나무🌲

0개의 댓글