OAuth2 프로토콜에서는 다양한 클라이언트 환경에 적합한 인증 및 권한의 위임 방법(Grant Type)을 제공하고 그 결과로 클라이언트에게 Access Token을 발급한다.
4개의 권한 위임 방법이 있으며 아래와 같다.
가장 많이 사용하는 Authorization Code (권한 부여 승인 코드 방식)의 동작 원리에 대해 정리하고자 한다.
OAuth인증의 최종 목적은 Access Token을 발급하는 것이다.
한 번의 인증 이후에 실제로 리소스에 접근하기 위해서 필요한 것은 Access Token이기 때문이다.
Resource Owner가 서비스의 '네이버 로그인' or ‘카카오 로그인’ 버튼을 클릭해 로그인을 요청한다.
https://nid.naver.com/oauth2.0/authorize?response_type=code
&client_id=y8bipAjK2LOF6BcKUBYa # 어떤 client인지를 id를 통해 Resouce Owner에게 알려주는 부분
&scope=name%20email # Resource Owner가 사용하려는 기능, Client가 부여받은 리소스 접근 권한
&redirect_uri=http://localhost:28081/login/oauth2/code/naver # 응답 콜백
OAuth 개념, 구성요소, 동작원리, 애플리케이션 등록이 되었기 때문에 Spring Boot 환경에 적용해 보겠다.
Spring Security + OAuth + JWT를 적용할 것이다.
놓친 부분이 있다면 이전글을 확인하기 바란다.
Spring Security, JWT관련된 이전글
Spring Security + JWT + OAuth2 적용하기 (4/4) (0) | 2024.12.23 |
---|---|
OAuth 네이버, 카카오 애플리케이션 등록 (2/4) (51) | 2024.12.19 |
OAuth 개념 파해치기 (1/4) (56) | 2024.12.18 |
AuthroizationFilter를 이용한 인가(AuthorizationManager, RequestMatcherDelegatingAuthorizationManager) (0) | 2024.12.01 |
Spring Security - FilterSecurityInterceptor 이해 및 Example (2) | 2024.11.11 |
댓글 영역