카테고리 없음
[Spring]Oauth
codi-3
2024. 9. 23. 10:14
OAuth(Open Authorization)는 사용자 자격 증명을 공유하지 않고도 외부 애플리케이션이 사용자의 계정 정보에 접근할 수 있도록 허용하는 인증 표준이다. OAuth는 주로 API 접근을 허용하기 위한 방식으로 사용되며, 특히 소셜 로그인, 외부 서비스 연동 등에 자주 사용됩니다. 스프링 프레임워크에서 OAuth를 활용할 수 있는 방법을 소개하면 다음과 같다.
1. OAuth 기본 개념
- 리소스 소유자(Resource Owner): API 리소스(사용자 정보 등)에 접근할 권리를 가진 사용자.
- 클라이언트(Client): 리소스에 접근하려는 외부 애플리케이션.
- 리소스 서버(Resource Server): 보호된 리소스를 제공하는 서버(예: 사용자 정보가 있는 서버).
- 권한 서버(Authorization Server): 사용자 인증을 처리하고 액세스 토큰을 발급하는 서버.
2. OAuth의 주요 단계
- 사용자 인증 요청: 클라이언트가 권한 서버에 사용자의 자격 증명으로 인증을 요청한다.
- 사용자 승인: 권한 서버가 사용자에게 접근 권한을 부여할 것인지 물어본다.
- 액세스 토큰 발급: 권한 서버가 인증된 사용자에 대해 클라이언트에게 액세스 토큰을 발급한다.
- 리소스 서버 접근: 클라이언트가 리소스 서버에 액세스 토큰을 제공해 리소스에 접근한다.