OAuth2 용어 설명

날아올라돼지야·2024년 8월 30일
0

이번 강의에서는 OAuth2 프레임워크에서 자주 사용되는 몇 가지 용어(혹은 전문 용어)를 설명하겠습니다. 이러한 용어들은 OAuth2를 이해하고 설명하는 데 필수적이므로, 이를 잘 숙지하는 것이 중요합니다. 특히 면접에서 OAuth2를 기반으로 마이크로서비스 보안 구현을 설명할 때 이 용어들을 정확하게 사용하는 것이 큰 도움이 될 것입니다.


1. 리소스 소유자 (Resource Owner)

리소스 소유자는 말 그대로 자신이 소유한 리소스(데이터)를 제3자 애플리케이션에게 접근 권한을 부여하는 사용자입니다. 예를 들어, GitHub에서 이메일 주소와 프로필 정보를 소유한 사용자가 리소스 소유자입니다. 이 사용자는 Stack Overflow와 같은 제3자 애플리케이션에 자신의 GitHub 계정 정보를 제공할 수 있습니다.

  • 예시: Stack Overflow에서 "Sign up with GitHub"을 클릭했을 때, GitHub에 저장된 사용자 정보는 리소스 소유자의 데이터입니다.

2. 클라이언트 (Client)

클라이언트는 리소스 소유자를 대신하여 보호된 리소스에 접근하려는 애플리케이션입니다. 예를 들어, Stack Overflow는 사용자의 GitHub 데이터를 접근하기 위해 GitHub 서버에 요청을 보냅니다. 이때 Stack Overflow는 클라이언트 역할을 합니다.

  • 예시: Stack Overflow는 클라이언트로, 사용자를 대신하여 GitHub 서버에서 이메일 및 프로필 정보를 요청합니다.

3. 인증 서버 (Authorization Server)

인증 서버는 리소스 소유자의 자격 증명을 관리하고, 요청을 승인할 경우 액세스 토큰을 발급하는 서버입니다. 리소스 소유자는 이 서버에 자신의 계정을 등록해야 하며, 서버는 클라이언트 요청을 처리하여 리소스 소유자를 인증합니다.

  • 예시: GitHub의 인증 서버는 사용자가 입력한 자격 증명을 검증하고, Stack Overflow에 액세스 토큰을 발급합니다.

4. 리소스 서버 (Resource Server)

리소스 서버는 리소스 소유자의 데이터를 실제로 저장하고 있는 서버입니다. 클라이언트는 인증 서버에서 발급받은 액세스 토큰을 사용하여 이 서버에 접근합니다. 리소스 서버는 토큰의 유효성을 검증하고, 적절한 데이터 접근 권한을 부여합니다.

  • 예시: GitHub의 리소스 서버는 사용자의 이메일 및 프로필 정보를 저장하고 있으며, Stack Overflow는 이 서버에 접근하여 데이터를 가져옵니다.

5. 스코프 (Scope)

스코프는 클라이언트가 요청하는 권한의 범위를 정의합니다. 인증 서버는 클라이언트가 요청한 스코프에 따라 액세스 토큰을 발급하며, 이 스코프에 따라 클라이언트가 수행할 수 있는 작업이 제한됩니다.

  • 예시: Stack Overflow는 GitHub 인증 서버에 "이메일 주소 읽기"라는 스코프를 요청할 수 있으며, GitHub 서버는 사용자의 동의를 얻은 후 해당 스코프에 따라 액세스 토큰을 발급합니다.

결론

이번 강의에서는 OAuth2의 주요 용어와 개념에 대해 설명했습니다. 이 용어들을 잘 이해하고 숙지하는 것이 중요하며, 앞으로의 강의에서 이 용어들을 자주 접하게 될 것입니다. 각 용어의 의미와 역할을 명확히 이해하면 OAuth2 프레임워크를 더 잘 이해하고 설명할 수 있습니다.

감사합니다, 다음 강의에서 뵙겠습니다. 안녕히 계세요!

profile
무슨 생각하며 사니

0개의 댓글