open:oauth

OAuth

OAuth 2.0은 자신이 소유한 리소스에 소프트웨어 애플리케이션이 접근할 수 있도록 허용해 줌으로써 접근 권한을 위임해주는 프로토콜이다. 즉, 애플리케이션이 리소스 소유자에게 리소스에 대한 접근 권한을 요청하고, 요청 결과로 전달받은 토큰을 이용해 애플리케이션이 해당 리소스에 접근하는 프로토콜이다.

OAuth 2.0 인가 프레임워크는 리소스 소유자를 대신해 HTTP 서비스와 리소스에 대한 접근 요청 승인을 조정하거나 리소스 소유자를 대신해 서드파티 애플리케이션에게 리소스에 대한 접근을 허용해주는 방식으로 HTTP 서비스에 대한 서드파티 애플리케이션의 접근을 가능하게 해준다.

표준 OAuth 트랜잭션은 다음과 같은 일련의 이벤트로 구성된다.

  • 리소스 소유자는 클라이언트에게 자신을 대신해 작업을 수행하라고 말한다(예를 들면, “내가 사진을 인화할 수 있도록 사진 저장 서비스로 가서 내 사진을 가져와라”)
  • 클라이어트는 인가 서버의 리소스 소유자에게 인가를 요청한다.
  • 리소스 소유자는 클라이인터를 인가한다.
  • 클라이언트는 인가 서버로부터 토큰을 전달받는다.
  • 클라이언트는 보호된 리소스에 접근하기 이해 토큰을 사용한다.

OAuth는 많은 유동적인 부분을 갖고 있는 프로토콜이지만, 권한을 위임하기 위한 안전한 방법을 간단히 제공할 수 있도록 만들어졌다.

  • OAuth는 토큰을 획득하고 그것을 사용하는 것에 관한 것이다.
  • OAuth 시스템의 구성 요소는 프로세스의 다른 부분을 중요하게 여긴다.
  • OAuth의 구성 요소는 서로 간의 통신을 위해 직접적(백 채널), 간접적(프런트 채널)인 HTTP통신을 수행한다.
    • 자원 서버는 보호된 정보를 제공하는 서버로 일반적으로 웹 애플리케이션
    • 자원 소유자는 자원 서버에 계정을 가지고 있는 사용자로 클라이언트가 그들의 계정을 통해 자원 서버에 접근하는 것을 인가 (Authorize) 합니다.
    • 클라이언트는 자원 소유자를 대신하여 자원 서버의 서비스를 사용하고자 하는 애플리케이션
    • 인가 서버는 클라이언트가 자원 서버의 서비스를 사용할 때 사용하는 접근 토큰을 발행
  • open/oauth.txt
  • 마지막으로 수정됨: 2022/03/11 04:24
  • 저자 127.0.0.1