요즘 앱에서 보통 소셜로그인으로 앱을 실행하는 경우가 많다.
왜 소셜로그인이 탄생했는지 알아보기 전에!!!!!
OAuth의 개념에 대해 알면 더 이해하기 쉬울 것이다.
위키백과를 보면 아래와 같이 쓰여져 있다.
OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준이다.
우리가 소셜로그인을 했을 때 보면 일반적인 회원가입처럼 아이디나 비밀번호 같은 것을 생성하지않고도 로그인이 되는 것을 볼 수 있다.
이 말은 접근 권한을 소셜 로그인을 제공하는 측에 요청하여 그곳에서 권한을 허용하게 되면 승인되어서 로그인이 된다.
왜 그러면 소셜 로그인을 제공하는 측에서 이런 무료 서비스를 하고 있을까?
하지만, 이는 이유가 존재한다. 왜냐하면 각 소셜 로그인 서비스를 이용하게 되면 그 제공하는 곳을 계속 사용해야 한다.
그래서 이렇게 자신들의 서비스를 이용하도록 유도하는 것이다!! 다 이유가 있어서 제공하는거같다!
앱을 만들 때 애플에서도 소셜로그인을 넣을 시 애플 로그인을 필수로 넣도록 한다. 예전에는 심사 기준에는 없었지만 이렇게 생긴 이유는 당연히 소셜로그인을 사용하는 사람들이 늘어나며 자신들의 비중도 높이기위해서다!
이제 OAuth 관련 용어들에 대해 먼저 정리가 필요하다
위키백과를 보면 아래와 같다
이제는 소셜로그인할 때 요청과 인증 방식 그리고 로그인하게 되는 과정을 알아볼 것이다.
이런식으로 소셜로그인이 진행된다.
그 중에 인증, 인가 두가지 차이점을 파악해야할 것 같다.
인증이란 유저가 누구인지 확인하는 절차다. 그래서 회원가입하고 로그인하는 과정을 인증하는 것으로 볼 수 있다.
인가는 유저에 대한 권한을 허락하는 것이다.
유저는 모든 권한을 제공할 필요가 없다. 우리가 회원가입을 하다보면 필수 항목, 선택 항목을 선택하는 것을 볼 수 있다.
이는 인가를 요청하고 받는 것임을 의미한다!
1탄에는 간단하게 OAuth 개념과 소셜로그인이 어떤 식으로 동작하는지 찾아보았다.
2탄에서는 이제 실제 구현을 통해 어떻게 코드로 이루어졌는지 확인해볼 것이다.
참고사이트