본문 바로가기

Develop/Spring Security

[Spring Security] Spring Security OAuth Login

반응형

OAuth 2 프레임워크

OAuth는 특정 구현이나 라이브러리가 아니다. OAuth 2는 권한 부여 프레임워크이며, 종종 위임 프로토콜이라고도 부릅니다.

 

OAuth2를 사용하면 아래와 같은 장점을 가집니다:

1. 토큰 기반 인증: 사용자의 자격 증명 대신 토큰을 기반으로 하여 인증을 합니다.

2. 더 나은 보안: 사용자의 자격 증명을 제 3 애플리케이션(우리가 서비스하는 애플리케이션)에 제공하지 않습니다.

3. 중앙 집중화된 인증: 한 번의 로그인으로 여러 서비스에 접근할 수 있습니다.

 

Oauth2.0 유형 종류:

1. 승인 코드 -> Spring Security에서 지원하는 유형

2. 암호

3. 갱싱 토큰

4. 클라이언트 자격 증명

 

하지만 OAuth도 만능은 아닙니다. 아래와 같은 허점을 가집니다:

1. 클라이언트에서 CSRF 이용

2. 클라이언트 자격 증명 도용

3. 토큰 재생

4. 토큰 하이재킹

승인 코드 그랜트 유형 순서 다이어그램

 

작성한 다이어그램을 공유합니다.

승인 코드 그랜트 유형 Flow
승인 코드 그랜트 유형 시퀀스 다이어그램 (출처: https://velog.io/@saint6839/OAuth-2.0-JWT-Token-%EC%83%9D%EC%84%B1-%EC%9D%B8%EC%A6%9D)

 

반응형