OAuth(Open Authorization) 인증을 위한 개방형 표준 프로토콜이다.
OAuth는 리소스를 소유하고 있는 소유자(Resource Owner)를 대신하여 리소스(Resource)에 대한 접근을 제어할 수 있다.
이 프로토콜은 접근하고자 하는 리소스를 소유하고 있는 리소스 소유자(Resource Owner)와 리소스 서버(Resource Server), 이를 사용하고자 하는 클라이언트(Client), 그리고 접근 권한을 관리하는 인증 서버(Authorization Server)의 승인 상호작용으로 유저에게 인증과 인가를 제공하여 결과적으로 리소스를 접근하게 할 수 있다.
구글, 페이스북, 카카오, 네이버 등에서 제공하는 간편 로그인 기능도 OAuth2 프로토콜 기반의 사용자 인증 기능을 제공하고 있다.
나무위키
OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용되는, 접근 위임을 위한 개방형 표준이다.
쉽게 말하자면, Client가 Resource Owner의 타사 플랫폼 정보에 접근하기 위해서 권한을 타사 플랫폼으로부터 위임받는 것이다.
OAuth의 목적은 최종적으로 Access Token을 발급하는 것이다.
한 번의 인증 이후에 실제로 리소스에 접근하기 위해서 필요한 것은 Access Token이다.
OAuth2 프로토콜에서는 다양한 클라이언트 환경에 적합한 인증 및 권한의 위임 방법(Grant Type)을 제공하고 그 결과로 클라이언트에게 Access Token을 발급한다.
OAuth 사용을 위해 애플리케이션 등록을 진행한 후 최종적으로 Spring Security에 적용시켜 보겠다.
이후 내용은 다음글에 정리하겠다.
OAuth Authorization Code Grant 동작 원리 (3/4) (0) | 2024.12.20 |
---|---|
OAuth 네이버, 카카오 애플리케이션 등록 (2/4) (51) | 2024.12.19 |
AuthroizationFilter를 이용한 인가(AuthorizationManager, RequestMatcherDelegatingAuthorizationManager) (0) | 2024.12.01 |
Spring Security - FilterSecurityInterceptor 이해 및 Example (2) | 2024.11.11 |
Spring Security + JWT 인증 (2/2) - Spring Security 설정 (29) | 2024.08.21 |
댓글 영역