소셜로그인 - OAuth
final 프로젝트에 소셜로그인을 적용하기로 해서 관련 테이블을 짜다가 공부한 내용을 정리해두려고 한다.
먼서 소셜로그인은 OAuth라는 프로토콜을 사용한다.
1. OAuth
인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다
[출처] 위키백과
OAuth에는 크게 3명의 참가자가 있다
- Resource Server : client가 제어하고자 하는 자원을 보유하는 서버 쉽게 말하면 카카오나 네이버 등을 말한다.
- Service Client : 자원의 소유자 즉 소셜로그인을 이용해 서비스를 사용할 유저를 말한다.
- Service Server : Resource Server에 접속해서 정보를 가져오고자 하는 클라이언트 바로 서비스를 제공하는 사이트
OAuth 개념 및 동작 방식 이해하기
1. OAuth란? image 웹 서핑을 하다 보면 Google과 Facebook 및 Twitter…
tecoble.techcourse.co.kr
이 포스팅을 보면서 공부했다. 위 포스팅은 깃허브계정을 이용해서 했지만 우리가 사용해야할껀 카카오톡과 네이버!
카카오톡 개발자 홈페이지에 자세하게 설명되어 있지만! 내 얕은 지식으로는 이 페이지만 보고서는 이해하기 힘들었다...
열심히 공부하자..
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
카카오톡 같은 경우는 RESP-API를 통해 소셜로그인을 구현할 수 있다
카카오의 로그인 과정은 총 3단계로 이루어져 있다.
먼저, 첫번째 단계에서 Service Client(사용자)가 로그인을 요청하면 Service Server에서는 Kakao Auth Server에 인가 코드 받기를 요청한다.
이 인가 코드는 사용자가 맞는지 안맞는지 인증을 해주는 코드여서 아마 사용자가 개인정보 동의를 하고 나서 인가코드 Redirect URI(이 URI는 반드시 프론트 경로와 백엔드 경로가 서로 통일 되야한다.)로 전달이 된다.
두번 째 단계에서는 Redirect URI에 저장된 인가 코드를 이용해서 Service Client(사용자)가 Service Server에 로그인 할 때 사용할 토큰을 발급받는다.
즉 인가 코드는 우리가 이제 저장하고 사용할 사용자의 토큰을 받아오는데 쓰인다.
저 인가 코드는 당연히 그대로 사용 불가, 받아아오고 우리 페이지에서 사용할 토큰을 저장해 써야 할듯 한다 (= 이 토큰이 데베에 저장되어야할 토큰)
마지막 단계에서 저 발급 받은 토큰을 통해 Service Client(사용자)가 Service Server에 로그인 할 수 있게 해준다.
이게 카카오 소셜로그인의 기본적인 구동 원리!
다음 파트는 다음에!