Back-end/Spring-Security

OAuth 2.0(Open Authorization 2.0)

prden 2022. 12. 18. 20:02

1. OAuth 2.0란?

OAuth 2.0을 사용하면 대부분의 로그인, 개인정보 관리 책임을 서드파티 애플리케이션(Google, Facebook, Kakao 등)에게 위임할 수 있다.(단, 사용자가 기존에 서드파티 서비스에 회원가입 되어있어야 함.) 뿐만 아니라 각 서드파티가 가지고 있는 사용자의 리소스를 조회 등을 내 애플리케이션에서 수행할 수 있다.

 

2. OAuth 2.0의 구성요소

1) Client : OAuth 2.0을 사용해 서드파티 로그인 기능을 구현할 자사 또는 개인 애플리케이션 서버다.

2) Resource Owner : 서드파티 애플리케이션 (Google, Facebook, Kakao 등)에 이미 개인정보를 저장(회원가입)하고 있으며 Client가 제공하는 서비스를 이용하려는 사용자를 의미한다.

3) Resource Server : 사용자의 개인정보를 가지고있는 애플리케이션 (Google, Facebook, Kakao 등) 서버다.  Client는 Token을 이 서버로 넘겨 개인정보를 응답 받을 수 있다.

4) Authorization Server : 권한을 부여(인증에 사용할 아이템을 제공)해주는 서버다. 사용자는 이 서버로 ID, PW를 넘겨 Authorization Code를 발급 받을 수 있다. Client는 이 서버로 Authorization Code을 넘겨 Token을 발급 받을 수 있다.

 

src: PAYCO 개발자 센터

3. SpringSecurity, OAuth2.0, JWT

https://velog.io/@tmdgh0221/Spring-Security-%EC%99%80-OAuth-2.0-%EC%99%80-JWT-%EC%9D%98-%EC%BD%9C%EB%9D%BC%EB%B3%B4

 

Spring Security 와 OAuth 2.0 와 JWT 의 콜라보

Spring Boot, Spring Security, OAuth 2.0, JWT 와의 치열한 싸움 기록

velog.io

 

4. 카카오 로그인

https://developers.kakao.com/docs/latest/ko/kakaologin/common#login-use-case 

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com