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