OAuth & 카카오 로그인

신윤섭·2023년 1월 16일
0

요즘 웹어플리케이션에서는 소셜로그인이 없는 서비스를 찾아보기 힘들다. 확실히 서비스에 회원가입을 하여 로그인을 하는 것보다 간편하게 로그인 할 수 있는 소셜 로그인, OAuth를 이용하는 것이 클라이언트에게도 서버에게도 큰 편의성을 제공할 수 있는 것 같다.

OAuth 2.0

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

말이 어렵지 그냥 나의 서비스에서 사용자가 이용하는 타 서비스의 정보에 대한 권한을 얻는 것이다.

카카오 로그인은 OAuth 2.0을 기반으로 하기 때문에 OAuth 2.0에 대해서만 다루어 보겠다.

OAuth 2.0의 구성 요소

위에서 말한 '나의 서비스', '사용자', '타 서비스', 이런 것들을 부르는 용어들이 있다고 한다.

  • Resource Owner

    • 리소스 소유자. 우리의 서비스를 이용하면서, 구글, 페이스북 등의 플랫폼에서 리소스를 소유하고 있는 사용자이다.
    • 리소스라 하면 '구글 캘린더 정보', '페이스북 친구 목록', '네이버 블로그 포스트 작성' 등이 해당될 것이다.
  • Authorization & Resource Server

    • Authorization Server는 Resource Owner를 인증하고, Client에게 액세스 토큰을 발급해주는 서버이다.
    • Resource Server는 구글, 페이스북, 트위터와 같이 리소스를 가지고 있는 서버를 말한다.
    • Authorization Server와 Resource Server는 공식문서상 별개로 구분되어 있지만, 별개의 서버로 구성할지, 하나의 서버로 구성할지는 개발자가 선택하기 나름이라고 한다.
  • Client

    • Resource Server의 자원을 이용하고자 하는 서비스. 보통 우리가 개발하려는 서비스가 될 것이다.
    • Client는 우리가 구현하는 서비스이므로 Resource Owner와 헷갈리지 말자. Resource Server와 Authorization Server의 입장에서는 우리 서비스가 클라이언트이기 때문에 이런 이름을 갖게 된 것이다.

출처

OAuth 2.0 flow

출처

카카오 로그인

설정하기

카카오 로그인 API를 사용하기 전 설정할 것이 있다.
kakao developers로 들어가서 내 애플리케이션을 가이드대로 설정해주자.
내 애플리케이션이 없다면 새로 만들고 설정해주자.

활성화 설정을 켜주고

Redirect URI도 위와 같이 등록해 주었다.
튜토리얼이기 로컬에서 진행하여 localhost로 등록해 주었다.


동의항목도 위와 같이 설정해 주었다.
이메일도 필수 동의로 하고 싶은데 그러려면 비즈니스 앱으로 등록해야 한다고 해서 일단 선택 동의로 진행해야겠다.


플랫폼 탭에서 사이트 도메인도 위와 같이 등록해주면 설정은 끝났다.

카카오 로그인 과정


OAuth 2.0을 기반으로 하기 때문에 OAuth 2.0 flow와 매우 유사한 것을 볼 수 있다.

0개의 댓글