OAuth, 소셜로그인 구현하기 1

Eddy📱·2022년 7월 17일
0

OAuth

목록 보기
2/2
post-thumbnail

요즘 앱에서 보통 소셜로그인으로 앱을 실행하는 경우가 많다.

왜 소셜로그인이 탄생했는지 알아보기 전에!!!!!
OAuth의 개념에 대해 알면 더 이해하기 쉬울 것이다.

위키백과를 보면 아래와 같이 쓰여져 있다.

OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준이다.

우리가 소셜로그인을 했을 때 보면 일반적인 회원가입처럼 아이디나 비밀번호 같은 것을 생성하지않고도 로그인이 되는 것을 볼 수 있다.

이 말은 접근 권한을 소셜 로그인을 제공하는 측에 요청하여 그곳에서 권한을 허용하게 되면 승인되어서 로그인이 된다.

왜 그러면 소셜 로그인을 제공하는 측에서 이런 무료 서비스를 하고 있을까?

하지만, 이는 이유가 존재한다. 왜냐하면 각 소셜 로그인 서비스를 이용하게 되면 그 제공하는 곳을 계속 사용해야 한다.

그래서 이렇게 자신들의 서비스를 이용하도록 유도하는 것이다!! 다 이유가 있어서 제공하는거같다!

앱을 만들 때 애플에서도 소셜로그인을 넣을 시 애플 로그인을 필수로 넣도록 한다. 예전에는 심사 기준에는 없었지만 이렇게 생긴 이유는 당연히 소셜로그인을 사용하는 사람들이 늘어나며 자신들의 비중도 높이기위해서다!

이제 OAuth 관련 용어들에 대해 먼저 정리가 필요하다
위키백과를 보면 아래와 같다

관련 용어

  • 사용자(user): 서비스 제공자와 소비자를 사용하는 계정을 가지고 있는 개인
  • 소비자(consumer): Open API를 이용하여 개발된 OAuth를 사용하여 서비스 제공자에게 접근하는 웹사이트 또는 애플리케이션
  • 서비스 제공자(service provider): OAuth를 통해 접근을 지원하는 웹 애플리케이션(Open API를 제공하는 서비스)
  • 소비자 비밀번호(consumer secret) : 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키
  • 요청 토큰(request token) : 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담겨있으며 후에 접근 토큰으로 변환된다.
  • 접근 토큰(access token) : 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값.

이제는 소셜로그인할 때 요청과 인증 방식 그리고 로그인하게 되는 과정을 알아볼 것이다.

인증 방식

  1. 먼저 유저는 APP에서 소셜 로그인 버튼을 눌러서 요청을 하게 된다
  2. APP 사용자는 소셜 로그인 화면으로 이동하도록 한다.
  3. User가 권한을 승낙하게 되면 소셜 로그인이 된다.
  4. 소셜 로그인 API 제공자인 서비스 제공자가 인증토큰(Access Token, Refresh Token)을 전달한다.

이런식으로 소셜로그인이 진행된다.

그 중에 인증, 인가 두가지 차이점을 파악해야할 것 같다.

인증

인증이란 유저가 누구인지 확인하는 절차다. 그래서 회원가입하고 로그인하는 과정을 인증하는 것으로 볼 수 있다.

인가

인가는 유저에 대한 권한을 허락하는 것이다.
유저는 모든 권한을 제공할 필요가 없다. 우리가 회원가입을 하다보면 필수 항목, 선택 항목을 선택하는 것을 볼 수 있다.

이는 인가를 요청하고 받는 것임을 의미한다!

1탄에는 간단하게 OAuth 개념과 소셜로그인이 어떤 식으로 동작하는지 찾아보았다.

2탄에서는 이제 실제 구현을 통해 어떻게 코드로 이루어졌는지 확인해볼 것이다.

참고사이트

https://ko.wikipedia.org/wiki/OAuth

profile
Make a better world

0개의 댓글