포스트

OAuth 의 개념 - 1

등장 배경

1. 접근 권한의 필요성

  • 이전에는 사용자가 다른 애플리케이션에 대한 자격 증명(사용자 이름과 비밀번호)을 제공하여 로그인
    해당 애플리케이션의 모든 기능에 액세스할 수 있음
    • 그러나 이러한 방식은 보안 문제와 편의성 문제를 초래할 수 있음

2. 보안과 사용자 편의성의 균형

  • OAuth는 사용자의 민감한 정보를 직접 제공하지 않음
  • 애플리케이션이 특정 리소스에 대한 권한을 얻을 수 있는 방법을 제공함
    • 보안과 사용자 편의성 사이의 균형을 찾으려고 합니다.

3. API의 보급과 확장성

  • Web API의 보급이 증가함에 따라
    • → 다양한 애플리케이션이 다양한 서비스의 리소스에 액세스할 필요가 생김
      • OAuth는 이러한 다양한 애플리케이션 간의 보안적이고 표준화된 접근을 도입
      • API 사용을 확장시키고 간소화하는 역할

4. 소셜 미디어의 발전

  • 소셜 미디어 플랫폼이 늘어나면서 사용자들은 자신의 소셜 미디어 계정을 사용하여
  • 다양한 애플리케이션에 로그인하고 상호 작용할 수 있기를 원함

    OAuth는 이러한 상호작용들을 실현하기 위한 표준 방법을 제시

5. 사용자 데이터의 관리와 컨트롤

  • 사용자는 자신의 데이터에 대한 접근 권한을 효과적으로 관리하고 제어하기를 원함.

    → OAuth를 사용하면 사용자는 어떤 애플리케이션이 어떤 데이터에 액세스할 수 있는지를 선택적으로 허용할 수 있다.

  • 이러한 배경들로 인해 OAuth가 등장
  • 현재는 많은 웹 및 모바일 애플리케이션에서 광범위하게 사용

정의

  • OAuth(Open Authorization)는 웹 및 모바일 애플리케이션에서
    다른 애플리케이션에 대한 제한적인 접근 권한을 부여하기 위한 개방형 표준 인증 프레임워크

    OAuth를 사용하면 사용자는 자신의 리소스(예: 사진, 동영상, 개인 정보)에 대한
    액세스 권한을 다른 애플리케이션에 부여할 수 있으며,
    이러한 권한을 안전하게 관리할 수 있음

  • OAuth의 주요 목적은 사용자가 자신의 사용자 이름과 비밀번호를 제공하지 않고도
    다른 서비스나 애플리케이션에서 자신의 리소스에 대한 제한적인 접근 권한을 부여할 수 있도록 함

    이것은 보안을 강화하면서 사용자 편의성을 향상시키고,
    사용자의 데이터에 대한 효과적인 관리를 가능하게 함

  • OAuth 프로토콜은 주로 “인가(authorization)”와 “인증(authentication)”을 분리하여 처리
    • “인가”는 사용자가 애플리케이션에 대한 권한을 부여하는 단계
    • “인증”은 사용자 자신을 확인하고 권한을 부여받은 애플리케이션에게

      이러한 권한을 사용할 수 있는 토큰을 제공하는 단계

  • OAuth는 다양한 시나리오에서 사용될 수 있다

    주로 웹 API를 보호하고 외부 애플리케이션에 대한 안전한 액세스를 허용하기 위해 사용

출처

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.