11. 카카오 로그인 OAuth2.0 개념

실제에는 나라는 사람은 한명인데, 수만은 웹사이트마다 회원가입하면, 인터넷 속 나는 엄청 많아진다…
그래서 네이버, 카카오 계정으로 다른 사이트를 사용할 수 있게하자!

장단점

장점 : 인증처리를 우리가 안해도 됨
단점 : 각 사이트에서 필요한 정보가 네이버나 카카오 정보에 없을 수도 있음…

OAuth (Open Auth)

인증 처리를 대신해주는 기능.

인증 처리 과정
사용자가 웹서버에서 카카오 로그인 요청을 카카오 API서버로 보낸다.
정상 요청이면, 웹서버에 특정 코드를 담아서 콜백한다.
웹서버는 해당 코드를 받으면, 해당 사용자가 카카오 로그인에 성공했음을 알게된다.

정보 접근 위임 과정
특정 사용자가 카카오 로그인을 통해 인증 됐음을 전제
웹 서버에서 카카오로 특정 사용자의 코드를 보내면서 권한을 요청하면,
카카오 API서버는 코드를 검사해서 카카오 자원서버로 접근할 수 있는 토큰을 웹서버에 준다.
이 토큰은 웹서버가 특정 사용자의 정보로 접근할 수 있도록 한다.

이 과정에서 용어를 정리해야 한다.
요청하는 사용자 -> 리소스 오너
웹 서버 -> 클라이언트
카카오 API서버 -> 인증 서버
카카오 자원 서버 -> 리소스 서버

스프링에서 OAuth2.0

스프링에서는 facebook, google을 공식적으로 OAuth를 제공한다.
OAuth2 client 라이브러리를 사용하면 쉽게 사용할 수 있다.

Share