OAuth 2.0 인증 구현

YouTube Live Streaming API는 비공개 사용자 데이터에 대한 액세스를 승인하기 위한 OAuth 2.0 프로토콜을 지원합니다. 아래 목록에는 몇 가지 핵심 OAuth 2.0 개념이 설명되어 있습니다.

  • 사용자가 애플리케이션에서 Google Account or YouTube account에 로그인해야 하는 기능을 처음 사용하려고 하면 애플리케이션에서 OAuth 2.0 승인 절차를 시작합니다.

  • 애플리케이션에서 사용자를 Google 승인 서버로 안내합니다. 이 페이지로 연결되는 링크는 애플리케이션에서 사용자 계정에 대해 요청하는 액세스의 scope를 지정합니다. scope는 인증된 사용자 역할을 할 때 애플리케이션에서 검색, 삽입, 업데이트, 삭제할 수 있는 리소스를 지정합니다.

  • 사용자가 애플리케이션이 이러한 리소스에 액세스하도록 승인하는 데 동의하면 Google은 애플리케이션에 토큰을 반환합니다. 애플리케이션 유형에 따라 토큰을 검증하거나 다른 유형의 토큰으로 교환합니다.

    예를 들어 서버 측 웹 애플리케이션은 반환된 토큰을 액세스 토큰과 갱신 토큰으로 교환합니다. 액세스 토큰을 사용하면 애플리케이션이 사용자를 대신하여 요청을 인증할 수 있고, 갱신 토큰을 사용하면 기존의 액세스 토큰이 만료될 경우 애플리케이션이 새 액세스 토큰을 검색할 수 있습니다.

중요: OAuth 2.0 승인을 사용하려면 Google API 콘솔에서 승인 사용자 인증 정보를 가져와야 합니다.

참고: 채널 소유자가 YouTube에 실시간 콘텐츠를 스트리밍할 수 있는 YouTube 실시간 스트리밍 기능을 사용하려면 승인을 받아야 합니다. 채널이 사용 설정되지 않았거나 실시간 콘텐츠를 스트리밍할 자격이 없는 인증된 사용자를 대신하여 API 요청을 전송하면 API에서 insufficientPermissions 오류를 반환합니다.

OAuth 2.0 흐름

Google API는 다음과 같은 여러 가지 OAuth 2.0 사용 사례를 지원합니다.

  • 서버 측 웹 앱 흐름은 영구 정보를 안전하게 저장할 수 있는 웹 애플리케이션을 지원합니다.
  • 자바스크립트 웹 앱 흐름은 브라우저에서 실행되는 자바스크립트 애플리케이션을 지원합니다.
  • 모바일 및 데스크톱 앱 흐름은 휴대전화 또는 컴퓨터와 같은 기기에 설치된 애플리케이션을 지원합니다.
  • TV 및 제한된 입력 기기 흐름은 게임 콘솔 및 비디오 카메라와 같이 제한된 입력 기능을 가진 기기를 지원합니다.
  • 서비스 계정 흐름을 위한 OAuth 2.0 흐름은 사용자 정보에 액세스하지 않는 서버 간 상호작용을 지원합니다. 그러나 YouTube Live Streaming API는 이 흐름을 지원하지 않습니다. Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate a NoLinkedYouTubeAccount error.