OAuth를 사용하는 이유
- 보안의 수준을 알 수 없는 애플리케이션에서 일일히 계정을 만들어 사용하면 ID/PW 관리가 어렵고 개인정보가 유출되면 연쇄적으로 피해가 심각하기에, 보안 수준이 어느정도 검증된 사이트(ex, google, facebook)의 API를 이용해서 인증을 받는 방법이 보안상 좋기 때문이다.
OAuth2 동장 방식
- OAuth 인증 방식은 인증의 과정을 '타 서비스에게 위임'하는 인증방식.
- 예를 들어 내 사이트에 구글 로그인 인증을 넣었다고 해서 사용자가 구글 웹사이트에 직접 로그인하는 것이 아니라, 사용자의 정보는 내 사이트에서 관리하고, 구글 로그인 기능을 통해 구글에게 전송한 구글 계정 정보가 유효한지 확인한 후, 유효하다면 해당하는 구글 유저 정보 중 일부를 내 사이트에 제공해 주는 '인증' 과정만 처리한다.
OAuth2 용어 정리
- **Resource owner(자원 소유자)**→ Resource server(구글, 페이스북, 카카오 등)의 계정을 소유하고 있는 사용자
- Client→ 구글, 페이스북, 카카오 등의 API 서비스를 이용하는 제 3의 서비스
- **Authorization Server(권한 서버)**→ 권한을 관리해주는 서버, Access Token, Refresh Token등을 발급, 재발급해주는 역할
- Resource Server→ OAuth2 서비스를 제공하고, 자원을 관리하는 서버
- Access Token→ Authorization Server로부터 발급받은 인증 토큰, Resource Server에 전달하여 서비스 제공받을 수있다
'Spring > Security' 카테고리의 다른 글
📝 Spring Security란? (0) | 2022.11.18 |
---|---|
📝 JWT 토큰(JSON Web Token) (0) | 2022.11.18 |
📝 스프링 시큐리티를 사용하여 회원관리하는 방법 순서도로 정리하기 (0) | 2022.11.18 |
JWT 로그인 구현 (0) | 2022.11.14 |
OAuth2를 이용한 소셜 로그인 - 카카오 API (0) | 2022.11.14 |