brunch

You can make anything
by writing

C.S.Lewis

by bok Jul 31. 2024

소셜 로그인 플로우 All-in-one

회원가입 프로세스 알아가기

✣ 소셜 계정으로 회원가입 및 로그인하기



자체 서비스의 회원가입 가입 없이 SNS 계정으로만 로그인을 붙이기 위해서는 어떤 프로세를 거쳐야 할까? 그동안 사용자로서 간편하게 써왔던 SNS 로그인 기능은 생산자(기획자)의 입장에서 "간단하게 SNS 로그인 붙여주세요~" 하고 끝날 일이 아니었다. 


사용자의 정보를 받아오는 것은 개인 정보 보호법과도 연관되어있을뿐더러, 각 서비스에서 줄 수 있는 정보 데이터도 다르기 때문에 어떤 데이터를 받아와서 어떻게 활용할지까지 고려해 사용자에게 (필수)와 (선택) 동의를 받아야만 한다.


복잡하고 알면 알수록 어려운 회원가입 정책을 하나씩 정리해 보자.


로그인 화면




로그인이 어렵게 느껴지는 이유는?

✣ 개인 정보 처리 방침 vs 개인 정보 수집 • 이용 동의


회원 가입 및 로그인 프로세스를 검색해 보면 가장 눈에 띄면서 막막한 부분이 개인 정보에 관련된 내용이다. 


우리가 웹사이트 또는 어플에 들어갔을 때 항상 확인할 수 있는 개인 정보 처리 방침. 

회원가입 시 필수 항목에도 개인 정보에 대한 필수 항목 동의를 체크하게 되는데, 이때 개인 정보 처리 방침에 관한 동의를 받아야 할지 개인 정보 수집이용 동의를 받아야 할지 슬슬 헷갈리기 시작한다.


법에 관련된 내용이라 더욱 조심스러워지지만 한번 개념 정리를 해 두면 다음 단계가 아주 수월해진다. 


개인 정보 처리 방침


개인 정보 처리 방침은 고객의 개인 정보에 대한 권리를 보장하기 위하여 다양한 목적으로 수집한 개인정보를 어떻게 이용하고 보호할 것인지 규정한 문서이다.


개인 정보 처리 방침은 홈페이지의 첫 페이지에 (주로 푸터) 공개되어야 하고 변경 시에는 사용자에게 알려야 한다. 


개인 정보 수집 • 이용 동의


개인 정보 수집 이용 동의는 말 그대로 정보를 수집하고 이용하겠습니다~라는 동의서이다. 사용자에게 수집하는 개인정보가 어떤 용도로 쓰일 것인지에 대한 명시를 해 주고 이에 대한 동의를 받아야만 서비스는 개인 정보를 활용할 수 있다. 


자, 그러면 회원가입 시 필요한 항목은 무엇일까?

➤ 개인 정보 수집 • 이용 동의서 


개인 정보 수집 • 이용 동의서에는 다음과 같은 항목이 필요하다.

수집 목적 : 개인 정보를 왜 수집하는지 구체적으로 명시해 줘야 한다.

수집 항목 : 이름, 이메일, 전화번호 등 어떤 정보를 수집하고 관리할 것인지 명시해 줘야 한다. 

 ③ 보유 • 이용 기간 : 수집한 정보를 목적 달성 즉시 폐기하는 것이 원칙이지만, 얼마 동안 해당 정보가 필요한 경우 보유 기간을 정확하게 명시해 줘야 한다.

동의를 거부할 권리가 있다는 사실과 동의 거부에 따른 불이익이 있는 경우 내용 명시 : 필수 또는 선택인지, 추가 선택 정보일 경우 어디에 사용되고 어떤 혜택을 못 받게 될 수 있는지 등을 구체적으로 명시해 줘야 한다. 



나의 서비스에 맞게 고민하기

✣ 제공받는 정보 vs 활용할 정보 구분하기



로그인 프로세스 기획이 어렵게 느껴졌던 이유 중 하나는 많은 서비스들이 각자의 서비스에 맞는 회원가입 프로세스를 가지고 있기 때문이었다. 모두가 공통 프로세스를 거치는 것이 아니기 때문에 정보가 많아 보였고, 무엇이 정답인지(?) 명확하게 해답을 내릴 수 없다는 점이다. 결국엔 많은 정보를 찾아보고, 그 정보들 중 나의 서비스에 맞게 기획하는 것이 해답이다. 


우리 앱 서비스에서 필요한 정보는 무엇이고, 로그인 시 API로 받아올 수 있는 정보는 무엇일까? 


물론 많은 정보를 처음부터 모두 받아 우리가 알아서 적절하게 그 정보를 사용하면 좋겠지만, 그건 생산자의 입장이고 사용자의 입장에서는 달갑지 않은 일이다. 회원 가입 시 많은 정보를 입력하면 사용자는 귀찮고 피로도가 높아지게 된다. 나의 정보를 마음대로 넘기는 것도 달갑지 않은데 입력할 게 이렇게 많다고? 


적절한 단계에서 필요한 정보만 받아 단계를 최소화하자.


먼저 각 SNS별로 제공해 줄 수 있는 정보가 다를 것이다.


SNS 계정 별 받아올 수 있는 정보 

앱 서비스에서 사용하는 로그인 (카카오, 구글, 애플)




개인 정보 이용 동의를 받으면 카카오는 꽤나 많은 정보를 사용할 수 있지만, 구글과 애플의 경우는 개인 정보를 받기가 애초에 어렵다. 카카오는 아무래도 한국의 법과 서비스에 특화되어있을 테고 구글과 애플은 더 보안에 철저하다. 


이렇게 받을 수 있는 데이터를 놓고 봤을 때, 두 가지 고민을 해야 한다.


1. 제한 적인 정보를 받아 올 수 있는 구글과 애플을 사용하는 것이 맞을까?

2. 개인 정보 수집 • 이용 동의는 어떤 단계에서 받아야 할까?


➤ 일단, 제한 적인 정보를 받아 오더라도 애플은 사용해야 한다.

ios 어플에 선 배포하는 우리 서비스는 App Store 정책을 따라야 하기 때문이다. App Store에 등록하기 위해서는 애플 로그인이 필수다.


➤ 구글 또한 글로벌 서비스의 확장성을 고려했다. 


그렇다면 오히려 카카오톡에서 받아오는 회원가입 프로세스를 다른 로그인 프로세스와 맞춰야 하지 않을까?




잠깐 카카오톡의 놀라운 프로세스를 알아보자.

카카오톡으로 로그인 그리고 카카오 싱크


우리나라 법에 잘 맞게 카카오는 다양한 간편 서비스를 지원해 준다. 카카오톡 또는 카카오 계정으로 로그인뿐만 아니라 회원가입까지 한 번에 할 수 있도록 지원해 준다.


카카오톡 로그인 : 어떤 정보를 제공할지 (필수) 또는 (선택) 후 로그인하기

출처 : 카카오 dev


카카오 싱크 : 카카오톡 로그인과의 차이점은 싱크는 회원가입까지 모두 포함한 절차라는 것이다. 

출처 : 카카오 dev



그러니까, 카카오톡 또는 카카오 계정으로 로그인은 개인 정보만 앱에 넘겨줘서 로그인을 한다. 앱에서 따로 그 정보를 받아 회원 가입 프로세스를 거쳐야 한다.


반면, 카카오 싱크는 카카오톡에서 회원가입 프로세스까지 모두 카카오에서 담당해 준다. 회원가입 절차에서 필요한 개인 정보 서비스 수집 • 이용 동의 & 마케팅 수신 동의 등에 대한 동의를 받을 수 있다. 





자, 이제 다시 돌아와서

앱 서비스 내에서 동일한 회원 가입 프로세스를 경험하게 하기 위해서는 (구글과 애플 로그인 사용자들 까지 모두 포함) 회원 가입 절차는 앱 내에서 하는 게 적합하겠다고 결론을 내렸다. 




플로우를 결정지었으면 준비해야 할 것들?

✣ 기획자가 챙겨야 할 체크 리스트


복잡한 회원가입 프로세스를 정리하고 확립했다면 이제는 우리 앱 서비스에 필요한 것들을 정리해서 공유하는 일이다. 이제 시작일 뿐 끝난 게 아니니.. 앞으로 해야 할 일을 정리해 보자.


[] 개인 정보 처리 방침 작성

[] 이용약관 작성

[] 개인 정보 수집 • 이용 동의서 작성

[] 회원 가입 동의 화면 추가 

[] 필수 받아올 데이터 정의

[] 관리자 화면 구성


... 



끝날 때까지 끝난 것이 아니다.. 

막막했던 회원가입 프로세스를 만났지만 또 알고 나니 새로운 지식을 습득한 느낌이다. 이제는 무작정 겁내하지 않아도 될 정도? 물론 더 방대한 양이 있겠지만 할 수 있는 일들을 하나씩 헤쳐 나가 보자. 


사이드 프로젝트로 SNS로그인만 사용하실 생산자 분들 혹은

업무에서 회원가입 프로세스를 맞닥뜨리게 된 분들에게 도움이 되었으면 좋겠다! 




+ 추가로 알면 좋은 용어 

✣ CI vs DI



일반적으로 회원가입 서비스 기획 시 알아야 할 필수 용어이다. 

국내 서비스 그리고 웹 서비스 이용 시 혹은 회원 가입 중복 확인 방지를 위해 필요한 이 용어

한번 정리해 보자.


CI 

CI(Connecting Information)는 연계 정보의 약자로 온라인에서 개인 식별을 위해 주민등록 번호에 기반하여 생성된 사실상 온라인 주민번호라고 할 수 있다. 


DI

DI(Duplicated Joining Verification Information)는 중복 회원 가입 정보의 약자로 특정 유저가 가입한 이력이 있는지 등을 확인하기 위한 정보다. 


CI와 DI의 차이

CI는 본인 확인기관에서 한 사람당 1개의 고유한 CI를 제공하며, 주민 번호가 바뀌지 않는 이상 변경되지 않는다. 주민 번호를 기반으로 만들어 유일성이 보장되고, 일방향 암호화를 이용하기 때문에 복호화가 불가능하다. 어느 업체나 사이트에 동일한 값이 제공된다.


반면 

DI는 고유한 로컬 키값이기 때문에 인증 업체마다 같은 개인이라도 다르게 발급된다. 





도움을 받은 감사한 참고 자료


Account 서비스 기획 시리즈

로그인 기획의 전반적인 사항

로그인 기획 시 알아 두어야 할 사항

카카오 로그인 dev

로그인 서비스 기획 시 기획자의 역할

개인정보처리방침 및 이용약관

CI와 DI 

애플로그인 개인정보 얻기 

구글 로그인









브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari