brunch

You can make anything
by writing

C.S.Lewis

by 루퍼트 Oct 28. 2016

이야기로 보는 OAuth 2.0 - 첫번째

소셜로그인의 절차

Facebook, twitter, google, ... 국내로는 naver 등의 이미 가입된 회원 정보를 이용해 손쉽게 새로운 서비스의 회원가입/로그인을 이용하도록 돕는 방식이 정착 되었다.


일명 '소셜 로그인'이라고 불리우는 OAuth 2.0 인증방식 로그인을 이야기로 이해해보자.


등장인물

내 정보의 관리자 소셜 서비스 (social) : Facebook, twitter, google 과 같이 기존 회원 보유량이 많은 곳. 내 개인정보를 내 허락을 맡고 다른곳에 빌려주는 대리인 역할



신규 서비스 : (newbie) : 소셜로그인을 지원하여 회원 가입/로그인 절차를 간편하게 하려는 서비스


사용자 (user) : social에 이미 가입되어 있는 상태에서 새로운 서비스에(소셜 로그인을 지원하는) 가입하려는 사용자




사용자가 소셜 로그인 버튼을 눌러 회원가입 진행이 완료될 때까지

newbie : 저희 서비스는 소셜로그인을 지원합니다. 많이 가입해 주세요~


user : 계정 만드는 것보다 소셜로그인이 편하지. 소셜로그인 선택!


newbie : 해당 소셜 서비스로 이동하셔서 본인확인을 해주세요~

social님 저희 고객님 들어가십니다. 저희 서비스에 가입하기 위해서요. 저희라는 것을 증명하는 등록번호와(app id) 요청 데이터 범위를(옵션) 동봉합니다.


social : user님 newbie 서비스 사용을 위해 저희 서비스에 로그인 부탁드립니다. 또한, newbie 서비스가 회원님의 정보에 접근할 수 있도록 허용하시겠어요? 또한, 어떤 정보들을 허용하시겠어요? 계정만? 친구 정보까지?

(회원의 확인 없이 로그인 만으로 모든 권한의 묵시적 동의가 이뤄지는 방식도 있다)


user : ㅇㅇ 맞아요. 소셜 로그인 해야하니까 제 정보를 넘길게요.

음.. 가입에 친구정보는 필요없는것 같으니 계정만 접근할 수 있도록 선택할게요

(이 과정에서 user는 정보의 허용 범위를 정할 수 있다)


social : newbie님. user님은 저희 회원이 맞으며, user 님이 허용한 범위 내에서 회원정보를 1시간동안 자유롭게 이용할 수 있는 티켓(token)을 사전에 등록하신 url로 (redirect_url) 보내드리겠습니다

이 과정에서 newbie 는 회원 정보를 접근할 수 있는 access token과 이것이 만료됐을때 재활성 시키는 refresh token을 social로 부터 받아오게 되며, 이때부터 user의 정보에 접근할 수 있다.


newbie : access token을 통해서 회원 가입에 필요한 정보를 받아오자. [이메일,프로필 이미지 주소, 전화번호] 를 받아서 자동가입을 진행하자. 다음번에 또 소셜로그인 하면 email로 중복확인 해서 바로 로그인 처리를 해주어야지


newbie : user님. 가입&로그인이 완료되었습니다 ^^


user : 1초만에 가입이 끝나다니! 너무 편하다.




다음편에서는 newbie가 social에 입점(등록) 하는 과정을 다루겠습니다.


reference

https://oauth.net/2/

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