-
[Project] 소셜 로그인은 왜 필요할까요?Flutter/project 2024. 1. 12. 02:48
[Project] 맛있는 외식의 시작, '미리'
✓ What Project? "지역 소상공인 식음료매장들의 당일 재고 식품에 대한 파격적인 할인가로 제공하는 O2O 서비스" 코로나로 인해 전국의 학교들이 비대면수업을 하면서 지역 경제가 침체되던 때가
nomal-dev.tistory.com
'미리'를 제작할 때 소셜로그인을 통한 회원가입이 이루어졌으면 좋겠다는 기획측 요구가 있었습니다. 요즘 대부분의 앱에는 소셜 로그인 기능이 들어있습니다. 하지만 앱을 제작할 때, 정확하게 왜 사용하는가에 대해 물음은 딱히 던지지않죠. 저는 어떤 기술을 도입하는데 무슨 리스크나 이득이 있는지 모르고 진행한다면 나중에 어떤 불상사가 일어날지 모르겠다는 생각이 들었고 이러한 이유로 소셜로그인을 도입해야하는 이유, 목적 등을 한번 조사해 보았습니다.
✓ 앱의 로그인 및 회원가입 형태
앱의 전형적인 로그인 및 회원가입의 흐름은 크게 3가지가 있습니다.
- 자체 로그인 및 회원가입(Session or JWT)
- 소셜 로그인 직후, 곧바로 서비스에 진입 (Oauth2.0)
- 소셜 로그인 + 회원정보 요구 후 JWT를 이용한 유저 관리
실제로 가장 많이 보이는 조합은 1번 + 3번 형태입니다.
소셜 로그인이 곧 회원가입 절차가 되는 2번의 경우, 유저의 정보를 많이 조회하지않는 경우나 아예 필요가 없는 서비스일 때 가장 합리적이며, 비교적 유저의 정보가 많이 요구되는 플랫폼 형태의 이커머스 앱은 보통 소셜 로그인 시 알 수 있는 데이터보다 더 많은 정보를 요구하기때문에 회원가입 단계에서 기본적인 정보는 따로 입력받은 후, 데이터베이스에 저장해서 관리하는게 일반적이었습니다.
그렇다면 왜 대부분의 서비스에서 소셜로그인을 도입했을까요?
출처: 한국소비자연맹 많은 이유가 있겠지만 핵심은 다음 두가지라고 생각합니다.
📌 편의성 & 간편성
출처: 한국소비자연맹 소셜 로그인 플랫폼은 디바이스를 사용하기 위해선 꼭 있어야하는 계정이거나(ex. 애플) 많은 사람들이 사용하고 있는 대형 플랫폼인 경우가 많습니다. 이러한 이유로 대부분의 유저들은 소셜로그인을 제공하는 기업의 계정을 보통 하나 이상 가지고 있기 마련이죠. (물론 이것조차 없는 유저를 위해 자체 회원가입을 추가로 제공하는 경우도 존재합니다.)
그렇기때문에 대부분의 유저는 별도의 회원가입을 거칠 필요없이 기존에 있는 소셜 계정으로 버튼 클릭 한번에그대로 로그인이 진행되므로 회원가입 시 필요한 시간과 피로도를 감소시키는 효과가 있습니다.
📌 안전성
앱 입장에서는 회원가입을 시도하는 대상이 안전한 유저인지 판단을 해야합니다. 가장 정확한 판단 방법은 "본인인증" 로직을 추가하는 것이지만 고객층이 성인인지 알 필요가 없다면 이 행위는 유저에게 귀찮고 불편하다는 인상을 줄 수 있습니다.
하지만 소셜 로그인을 사용한다면 이미 특정 플랫폼에서 사용자를 검증했기때문에 부가적인 절차없이 신뢰하는 유저로서 받아드릴 수 있습니다. 그밖에 개발자 입장에서는 Oauth2.0을 통해 서드파티 어플리케이션(도메인 서버)이 쉽게 유저의 정보를 얻을 수 있어 개발하는데 용이하다는 장점이 있다.
소셜로그인을 조사 할 때, '배달의 민족'이나 '야놀자'같은 대형 플랫폼에서는 간편하게 소셜로그인만으로 앱에 진입할수있도록 한 뒤, 결제나 이벤트 등 유저의 정보가 필요한 시점에 추가 정보를 받는 경우도 있었습니다.
개인적으로 회원가입에서 받는 유저의 정보가 메인화면에서 쓰이지않는 경우, 실행과 동시에 앱의 서비스가 바로 노출되기때문에 바로 유저가 서비스를 이용할 수 있고 그 결과 원활한 사용자 유입 + 회원 전환 효과을 얻을 것이라고 생각합니다.
소셜 로그인을 이용한 로그인 플로우를 고민할 때 이런 케이스도 있다는 것을 알면 좋을 것 같아서 추가 해 뒀습니다!출처: 배달의민족, 야놀자
[Project] 로그인&회원가입 기능을 설계할 때, UX관점에서 고려해야하는 부분
소셜 로그인은 왜 필요한가? 로그인과 회원가입의 경우 앱의 성격에 따라 굉장히 다양하게 흘러간다. '미리'를 제작할 때 비슷한 서비스를 제공하는 앱들을 조사하고 그들이 어떤 형태로 진행고
nomal-dev.tistory.com
'미리' 앱에서는 추후에 유연한 확장성을 염두하며 회원가입 시, 유저의 기본적인 정보는 모두 입력받는 것으로 진행했었습니다. 실제 프로젝트의 로그인&회원가입 플로우가 궁금하시다면 위의 글을 참고해주세요!
다음에는 소셜로그인을 어떻게 적용하였으며 상태관리는 어떤 식으로 했는지, 실제 프로젝트의 회원가입부터 로그인을 보며 알아보도록 하겠습니다. 감사합니다.
이 글이 꼭 정답은 아닙니다. 잘못된 부분이나 부족한 부분을 알려주시면 학습 후 수정하겠습니다.
'Flutter > project' 카테고리의 다른 글
[Flutter] 실제 Repository 패턴 프로젝트 구조 파헤치기#2 (Application-Layer) (3) 2024.01.17 [Flutter] 에러 핸들링, Custom Exception 관리하기 (1) 2024.01.15 [Flutter] Repository 패턴과 아키텍처feat.Riverpod (0) 2024.01.14 [Project] 로그인&회원가입 기능을 설계할 때, UX관점에서 고려해야하는 부분 (0) 2024.01.12 [Project] 맛있는 외식의 시작, '미리' (1) 2024.01.06