OAuth 2.0 개념

이 주제에서는 OAuth 2.0의 기본 개념을 소개합니다.

OAuth 2.0에서는 일반적으로 다음 개념이 사용됩니다.

자원 소유자
보호 자원에 대한 액세스 권한을 부여할 수 있는 엔티티입니다. 자원 소유자가 개인인 경우에는 사용자라고 합니다.
OAuth 클라이언트
자원 소유자의 개인용 자원에 액세스하려는 써드파티 애플리케이션입니다. OAuth 클라이언트는 자원 소유자로부터 권한을 부여받은 후에는 자원 소유자 대신 보호 자원 요청을 작성할 수 있습니다. OAuth 2.0에서는 두 가지 유형의 클라이언트, 즉 기밀 및 공용 클라이언트를 소개합니다. 기밀 클라이언트는 클라이언트 본인확인정보를 사용하여 등록하는 반면 공용 클라이언트는 그렇지 않습니다.
OAuth 서버
OAuth 2.0에서는 권한 서버라고 합니다. 이 서버는 자원 소유자를 대신하여 OAuth 클라이언트에 보호 자원에 대한 범위 지정된 액세스 권한을 부여합니다. 이 서버는 다음 조치를 수행한 후 OAuth 클라이언트에 액세스 토큰을 발행합니다.
  • 자원 소유자를 인증합니다.
  • 요청 또는 권한 부여를 유효성 검증합니다.
  • 자원 소유자 권한을 얻습니다.
권한 서버는 자원 서버일 수도 있습니다.
범위
액세스 요청 범위를 지정하기 위해 OAuth 클라이언트가 요청하는 특성입니다. 범위는 호출자가 의도된 토큰 사용에 태그를 지정하는 데 사용됩니다. 권한 서버는 범위 응답 매개변수를 사용하여 발행된 액세스 토큰 범위를 클라이언트에게 알립니다. 사용자가 클라이언트의 의도된 토큰 사용을 파악할 수 있도록 범위가 대개 동의 페이지에 표시됩니다. 공통 범위에는 profileemail이 포함됩니다.
액세스 토큰
자원 소유자가 OAuth 클라이언트에 부여한 권한을 나타내는 문자열입니다. 이 문자열은 액세스 권한의 특정 범위 및 지속 기간을 나타냅니다. 자원 소유자에 의해 부여되고 OAuth 서버에 의해 적용됩니다.
Bearer 토큰
토큰 엔드포인트에서 발행된 토큰입니다. 여기에는 액세스 토큰과 잠재적으로 새로 고치기 토큰이 포함됩니다. Bearer 토큰에 대한 자세한 정보는 http://tools.ietf.org/html/rfc6750을 참조하십시오.
보호 자원
인증된 요청을 사용하여 OAuth 서버에서 액세스할 수 있는 제한된 자원입니다.
자원 서버
보호 자원을 호스팅하는 서버입니다. 액세스 토큰을 사용하여 보호 자원 요청을 승인하고 응답할 수 있습니다. 자원 서버는 권한 서버와 같은 서버일 수도 있습니다.
권한 부여
자원 소유자의 보호 자원에 액세스하기 위한 자원 소유자 권한 부여를 나타내는 권한 부여입니다. OAuth 클라이언트는 권한 부여를 사용하여 액세스 토큰을 획득합니다. 네 가지 권한 부여 유형, 즉 권한 코드, 내재적, 자원 소유자 비밀번호 신임 정보 및 클라이언트 신임 정보 권한 부여 유형이 있습니다.
권한 코드
자원 소유자가 요청에 권한을 부여할 때 권한 서버가 생성하는 코드입니다.
새로 고치기 토큰
새 액세스 토큰을 획득하는데 사용되는 문자열입니다.
새로 고치기 토큰은 권한 서버가 OAuth 클라이언트에 액세스 토큰과 함께 선택적으로 발행합니다. OAuth 클라이언트는 새로 고치기 토큰을 사용하여 자원 소유자를 다시 연관시키지 않고 동일한 권한을 기반으로 하는 다른 액세스 토큰을 요청할 수 있습니다.