스프링 시큐리티 OAuth2/OAuth 2.0 Open ID Connect, Client

스프링 시큐리티와 OAuth 2.0

webmaster 2023. 1. 13. 22:30
728x90

Before - After

  • deprecated 버전  
    • client Support, Resource Server, Authorization Server 모두 하나의 프로젝트에 모듈로 포함되어 있었다.
  • Spring Security 5
    • client Support, Resource Server는 Spring Security 5 프로젝트에, Authorization Server는 따로 분리되어있다.

 

OAuth 2.0 Client Fundamentals

  • OAuth 2.0 인가 프레임워크의 역할 중 인가서버 및 리소스 서버와의 통신을 담당하는 클라이언트의 기능을 필터 기반으로 구현한 모듈
  • 간단한 설정만으로 OAuth 2.0 인증 및 리소스 접근 권한, 인가서버 엔드 포인트 통신 등의 구현이 가능하며 커스터마이징의 확장이 용이하다

OAuth 2.0 Login

  • 어플리케이션의 사용자를 외부 OAuth 2.0 Provider 나 OpenID Connect 1.0 Provider 계정으로 로그인할 수 있는 기능을 제공한다
  • 글로벌 서비스 프로바이더인 “구글 계정으로 로그인”, “깃허브 계정으로 로그인” 기능을 Oauth 2.0 로그인을 구현해 사용할 수 있도록 지원한다
  • OAuth 2.0 인가 프레임워크의 권한 부여 유형 중 Authorization Code 방식을 사용한다

OAuth 2.0 Client

  • OAuth 2.0 인가 프레임워크에 정의된 클라이언트 역할을 지원한다
  • 인가 서버의 권한 부여 유형에 따른 엔드 포인트와 직접 통신할 수 있는 API 를 제공한다
    • Client Credentials
    • Resource Owner Password Credentials
    • Refresh Token
  • 리소스 서버의 보호자원 접근에 대한 연동 모듈을 구현 할 수 있다

프로젝트 생성

의존성 추가

 

728x90