나는 아침에 제일 먼저 눈을 떠서 핸드폰을 본다.
은행도 인터넷 뱅킹이 주가 되었고, 회사의 이력서나 커뮤니티 등등
회원가입을 해야하는 상황들이 많이 생기곤 한다.
이름과, 이메일, 휴대전화,, 반복적인 개인정보 기입은 불편하다. 그럴 때 회원가입을 한번만 하고, 그 아이디로 공통적으로 사용할 수는 없을까? 생각이 들곤 했다. 그것을 현실화 시킨것이 바로 소셜 로그인이다.
가장 대중적으로 진행되고 있는 서비스인 google, kakao, naver 와 같은 대형 플랫폼에 가입을 한 후. 그 플랫폼에 유저에 대한 정보를 요청하게되면사용자는 별도의 추가 정보를 작성하지 않고, 그 사이트에 회원으로 가입되어 서비스를 사용할 수 있는 것이다.
마땅한 규칙이 없어서, 사용자들이 직접 아이디와 비밀번호를 입력하면 그 정보를 가지고 직접 인증 절차를 통과 했습니다.
만약 주소록 정보에 접근해야한다고 생각해봅니다.
A 서비스에서는 사용자의 구글 아이디와 패스워드를 받아 직접 API를 호출합니다.
사용자의 모든 구글 계정 정보에 접근이 가능하게 된 기업이 주소록 정보만 가져와서 사용한다는 보장이 있을까?
중간 과정에서 해킹되면, google 계정의 모든 권한을 사용할 수 있게 된다.
이런 권한을 여러 기업이 가지게되면 내 권한을 마음대로 사용할 가능성이 높아져 보안상 취약하게 된다.
위와 같은 위험성 때문에 몇몇의 회사들은 인증체계를 각자 구축해서 사용하곤 했습니다. 대표적으로 AuthSub 가 있습니다.
하지만 각자 인증 방식이 달라서 서비스를 운영하는 입장에서 불편한 점이 많았습니다.
그렇게 시간이 흘러 2006년, 트위터에서 일하던 블레인 쿡(Blaine Cook)은 Open ID를 트위터에 탑재하고 있는 일을 하고 있었고 소셜 북마크 사이트인 Ma.gnolia에서도 회원이 대시보드에서 OpenID를 통해 서비스에 접근하는 방법을 생각하고 있었습니다.
이에 쿡, 크리스 메시나(Chris Messina), Larry Halff (Magnolia 개발자)는 데이비드 리코던(David Recordon)을 만나서, Open ID를 사용해 트위터와 매그놀리아의 인증을 위임하기 위한 API를 논의하였습니다.
만나서 얘기를 하다 보니까, 지금까지 API 접근을 맡기는 표준적인 방법은 없다는걸 깨닫게 됩니다.
이 순간이 바로 구글부터 새로 시작하는 스타트업까지 모두 사용하는 OAuth가 탄생하는 순간입니다.
이후 2007년 4월 OAuth의 초안이 작성되었고 7월에 사양 초안, 10월에 OAuth Core 1.0의 초안이 작성되게 됩니다.
2008년 11월에는 제73회 IETF(국제 인터넷 표준화 기구, Internet Engineering Task Force)에서 OAuth를 표준화하자는 비공식 회담이 열리고 긍정적인 반응을 얻었고 2010년에는 RFC 5849로 등록된 OAuth 1.0 버전이 나오게 됩니다. 따라서 지금의 소셜 로그인이 탄생하게 되었습니다.
다음 포스팅에서 OAuth 에 대해서 더 자세히 적도록 하겠습니다.