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 라이센스를 따릅니다.