본문 바로가기

TIL

38_Step : 카카오 ID로 로그인 연동하기(1)

예전에 우리는 하나의 웹사이트를 방문해서 그 웹사이트의 서비스를 사용하려면 모두 회원가입 절차를 밟아 정보를 입력하고 관리자의 승인을 받아야만 사용할 수 있었다. 본인이 사용하는 모든 사이트의 주소와 ID, password를 다 적어놓던가 기억해놨다가 사용해야 했고, 잃어버리기라도 하면 찾기도 힘들어 정말 난감한 상황이 발생하기도 했다. 그러나 현재에는 사용자의 불편함을 개선하여 서비스의 질을 올리려고 많은 노력을 했고, 그에 따라 사용자의 불편함도 대폭 감소하게 되었다.

 

그에 따라 모든 웹사이트마다 해야했던 회원가입 절차에도 변화가 생겼다. 

 

처음에는 같은 계열사에 있는 웹사이트끼리는 하나의 ID로 병행하여 접속 및 서비스 이용이 가능해졌다. 그 후 차츰 넓혀가더니 지금에 와서는 전혀 상관없는 회사의 ID를 통해서도 이용할 수 있게 되었다. 예를 들어, 카카오 ID를 가지고 다음이 아닌 네이버 플랫폼의 서비스를 이용하는데 쓸 수가 있어졌다. 이게 가능해진 이유는 OAuth를 활용하여 로그인을 하기 때문이다.

 

 

SSG의 로그인 화면

 

 

 OAuth 

OAuth는 접근 위임을 위한 개방형 표준으로 사용자가 비밀번호는 제공하지 않고 이미 가입한 웹사이트에 있는 내 정보에 지금 가입하려는 사이트가 접근할 수 있는 권한을 부여할 때 사용한다. 사용자가 모든 권한을 가입하려는 웹사이트에 넘기지 않아도 서비스를 이용할 수 있게 해주는 HTTP 기반의 보안 프로토콜이다. OAuth의 장점은 다음과 같다.

 

OAuth는 웹사이트뿐만 아니라 애플리케이션에서도 사용이 가능하다.

 

 

OAuth의 장점

  1. 사용하고자 하는 모든 웹사이트에 회원가입을 하면 사용자는 귀찮거나 번거로움을 느끼게 된다. 회원가입 과정에서 오는 피로감도 문제지만 회원가입 후 모든 사이트의 ID와 password를 기억하고 있어야 하는 것도 부담이다.
    OAuth는 하나의 ID로 여러 웹사이트에서 제공하는 서비스를 이용할 수 있게 하여 이를 해결해준다. 


  2. 웹사이트의 관리자도 모든 회원의 개인정보를 유출되거나 유실되지 않도록 지속적으로 관리를 해야하는데 이때 드는 비용과 인력이 상당히 크다. 항상 해킹을 대비해야 하고 보안 관련 기술에 대한 투자를 꾸준히 해야한다. 이러한 문제점도 OAuth의 도움을 받으면 쉽게 해결이 가능해졌다.

 

이제 OAuth의 대표주자 카카오를 활용하여 로그인 기능을 만들어보도록 하자.

카카오 개발자 페이지에 접속하여 회원가입을 해준다.(카카오톡과 카카오개발자는 별개이다.)

 

 

 

 

 

메뉴의 내 애플리케이션을 클릭한 뒤에 애플리케이션 추가하기를 눌러준다. 그럼 아래의 그림과 같은 팝업창이 나오는데 내용을 본인에 맞게 기재하고 저장을 누른다.

 

 

 

왼쪽의 사이드바의 플랫폼을 클릭하여 들어가보면 안드로이드부터 웹까지 플랫폼 등록하는 버튼이 있다.

요걸 눌러서 우리의 도메인을 등록해보자.

 

 

 

 

 

사이트 도메인은 현재 개발하고 있는 로컬환경의 서버 주소로 입력해 준다.

 

 

 

 

도메인을 등록했다면 아래 그림처럼 화면이 바뀌었을 것이다. 그럼 그 도메인에서 카카오 로그인을 할 수 있도록 설정해보자. 그러기 위해서는 '카카오 로그인 사용 시 Redirect URI를 등록해야 합니다.'의 옆에 있는 '등록하러 가기'를 클릭한다.

 

 

 

 

카카오 API를 활용해 로그인을 하기 위해 상태를 활성화로 바꾸어 주고, 그 밑에 있는 OpenID Connect의 할성화는 본인의 필요도에 맞게 선택한다.

 

 

 

별도의 회원가입 없이 사용할 수 있도록 카카오 로그인을 통해 로그인 시에 인가토큰을 받을 Redirect URI를 설정해준다. 

 

 

 

 

 

URI 설정까지 했다면 카카오 서버로부터 사용자의 어떤 정보들을 받아올 건지 지정을 해줘야한다.

 

 

왼쪽의 사이드바를 보면 동의항목이 보일 것이다. 요걸 클릭해서 관리자가 사용자의 어떤 정보를 카카오 서버에서 받아올 지를 정하도록 한다. 개인정보와 접근권한 카테고리가 있고 그 밑에 많은 항목이 있으니 본인 입 맛에 맞게 골라서 결정하면 된다.

개인정보 동의항목
접근권한 동의항목

 

이로서 카카오의 ID를 활용해 로그인하는 기능 중 카카오 서버에서 설정해줘야할 것들에 대해 배워봤다. 이제 카카오 서버를 사용할 준비가 되었으니 본인이 만든 로그인 페이지와 연동하는 것을 다음 시간에 할 것이다. 화이팅~!