지원 지원 문의 | 시스템 상태 시스템 상태
페이지 내용

    API 요청에 대한 인증

    이 주제에서는 Brightcove REST API에 대한 요청 인증을 다룹니다.

    소개

    대부분의 Brightcove REST API는 인증의 기초로 OAuth2를 사용하므로 다음 섹션에서 OAuth 구현을 자세히 살펴볼 것입니다.

    그러나 먼저 두 API는 서로 다른 인증 방식을 사용합니다.

    정책 키 인증 : Playback API

    그리고, Playback API 주로 플레이어 또는 웹 포털에서 비디오 및 재생 목록 데이터를 검색하는 데 사용되며 policy_key인증을 위해 일반적으로 Accept 헤더:

            Accept: application/json;pk={policy_key}

    정책 키는 Brightcove 플레이어에 대해 자동으로 생성되며 플레이어 구성또는 Policy API

    API 키 인증 : Live API

    그리고, 라이브 API 계정이 요청을 인증하도록 설정된 경우 제공되는 API 키를 사용합니다. API 키는 X-API-KEY 헤더:

            X-API-KEY : {YOUR_APIKey}

    OAuth2 인증

    에 대한 다른 REST API Video Cloud 인증에 OAuth2 사용, OAuth2에 익숙한 사용자를 위해 클라이언트 자격 증명 흐름을 사용합니다. 관련된 두 가지 작업이 있습니다.

    1. 클라이언트 자격 증명을 가져옵니다. 이것은 가장 쉬운 일회성 작업입니다. API 인증 Studio의 관리 도구 페이지 보다 API 인증 자격 증명 관리 자세한 내용과 단계별 지침.
    2. 액세스 토큰을 받으십시오. 각 API 요청에는 Authorization 헤더:
              Authorization: Bearer {access_token}

      액세스 토큰은 XNUMX 분 동안 작동하므로 반복되는 API 요청을 생성하는 프로세스를 실행하지 않는 한 각 요청마다 새 토큰을 얻으려고합니다.

      액세스 토큰은 요청의 클라이언트 자격 증명을 Brightcove의 OAuth API. 참조 액세스 토큰 얻기 자세한 내용은. 또 한있다 샘플 앱 API 호출 테스트를위한 일회용 토큰을 얻는 데 사용할 수 있습니다. 널리 사용되는 REST 클라이언트 구성에 대한 지시 사항도 있습니다. 우편 집배원잠 잘 수 없음.

    를 통해 클라이언트 자격 증명 OAuth API

    다음을 사용하여 클라이언트 자격 증명을 만들거나 만들어야하는 경우 OAuth API아래는 고객 자격 증명을 얻는 과정을 안내하는 단계입니다. 먼저 BC_TOKEN을 가져와야합니다. BC_TOKEN은 클라이언트 자격 증명 요청에 대해 인증하는 데 사용됩니다.

    타라, 네 BC_TOKEN 계좌 번호

    스튜디오에 로그인해야 BC_TOKEN.

    1. 평소와 같이 Studio에 로그인하십시오.
    2. Studio의 계정 정보로 이동하여 얻을 수있는 계정 번호 (Studio의 게시자 ID라고 함)가 필요합니다.
      계정 ID
      계정 ID
    3. Studio의 모든 페이지를 열고 브라우저의 개발자 도구를 열고 콘솔로 이동하여 다음 코드를 붙여 넣습니다.
            var cookiesArray = document.cookie.split(";"), cookiesObj = {}, i, tmpArray = [];
            for (i = 0; i < cookiesArray.length; i++) {
                tmpArray = cookiesArray[i].split("=");
                if (tmpArray[0].indexOf('BC_TOKEN') > -1) {
                    cookiesObj.BC_TOKEN = tmpArray[1];
                }
            }
            window.prompt("BC_TOKEN:", cookiesObj.BC_TOKEN);

      ... 그리고 return 키를 누르십시오.

    4. 당신은 당신이 들어있는 프롬프트가 나타나야합니다. BC_TOKEN:
      BC_TOKEN
      BC_TOKEN
    5. BC_TOKEN을 가지고 계시다면, 클라이언트 자격 증명 얻기 섹션; 어떤 이유로 든 이전 단계를 사용하여 BC_TOKEN을 얻지 못했다면 콘솔로 이동하여 다음을 입력하십시오. document.cookies, 리턴 키를 누르십시오.
    6. 페이지의 모든 쿠키는 세미콜론으로 구분 된 목록으로 반환됩니다. 목록에서 BC_TOKEN 쿠키를 찾아 값을 복사하십시오.
      콘솔에서 BC_TOKEN 가져 오기
      콘솔에서 BC_TOKEN 가져 오기

    오늘 바로 client_credentials

    이제 클라이언트 자격 증명을 검색하기 위해 OAuth 서비스를 호출 할 준비가되었습니다. 자격 증명을 요청하는 클라이언트 응용 프로그램 이름을 지정해야합니다. 이름은 임의이며 자격 증명의 내용을 추적하는 데 도움이됩니다. 여기서는 "ingest-profiles-api-client"를 사용합니다. 또한 배열에서 액세스하려는 작업의 범위를 지정해야하며 여기서 사용할 것입니다. 사용 가능한 작업은 클라이언트 자격 증명 요청에 대한 API 작업. 아래의 단계에서 해당 작업에 필요한 작업을 지정합니다. Ingest Profiles API.

    1. 다음 curl 명령을 편집 한 다음 명령 행에 붙여넣고 반환. 다음 세 가지 값에 대해 특정 값을 제공해야합니다.
      • 당신 BC_TOKEN
      • 자격증 명
      • 내 계정 ID
            curl \
              --include \
              --header "Authorization: BC_TOKEN your_BC_TOKEN" \
              --data 'name=ingest-profiles-api-client&maximum_scope=[{
                  "identity": {
                    "type": "video-cloud-account",
                    "account-id": your_account_id
                  },
                  "operations": [
                        "video-cloud/ingest-profiles/profile/read",
                        "video-cloud/ingest-profiles/profile/write",
                        "video-cloud/ingest-profiles/account/read",
                        "video-cloud/ingest-profiles/account/write"
                    ]
                }]' \
            https://oauth.brightcove.com/v4/client_credentials
    2. 응답은 다음과 같아야합니다 (형식이 추가됨).
            {
              "redirect_url": null,
              "maximum_scope": [
                {
                  "identity": {
                    "type": "video-cloud-account",
                    "account-id": your_video_cloud_account_id
                  },
                  "operations": [
                    "video-cloud/ingest-profiles/profile/write",
                    "video-cloud/ingest-profiles/account/write",
                    "video-cloud/ingest-profiles/profile/read",
                    "video-cloud/ingest-profiles/account/read"
                  ]
                }
              ],
              "name_html": "ingest-profiles-api-client",
              "issued_to": "your_email@host.com",
              "trusted": null,
              "expires_at": null,
              "issued_at": "2015-06-01T15:09:00Z",
              "name": "ingest-profiles-api-client",
              "description_html": null,
              "revoked": null,
              "type": "credential",
              "client_secret": "Ifckr6cWtxOh_NZnEVhKCgcqZaqoMcPuoJ-VGuivIE_psPoPUt2hGqUK15uPON3x3m748ElazZoOKPxbI3-4nQ",
              "description": null,
              "client_id": "da270d86-f3cd-4ee6-85b0-047df97a0db2",
              "issued_user": your_video_cloud_account_id
            }
    3. 복사 및 저장 client_idclient_secret, 언제든지 필요할 때마다 access_token.

    를 통해 토큰에 액세스 OAuth API

    클라이언트 자격 증명과 달리 액세스 토큰은 짧습니다.lived-현재 5 분 후에 만료됩니다. 각 API 요청에 대해 새로 가져와야합니다. 물론 가장 최근 액세스 토큰을 확인하여 시간이 초과되었는지 확인하는 로직을 앱에 빌드 할 수 있지만 Ingest Profiles API 소수와 먼 사이에있을 가능성이 높습니다. 그렇게 할 이유가 없습니다.

    실제로 API는 응용 프로그램을 전혀 구축 할 가치가 없을 정도로 자주 사용하지 않는 API 일 수 있습니다. 대안은 사용하는 것입니다 이 셸 스크립트 Brightcove 학습 서비스가 구축했습니다. 클라이언트 ID 및 비밀, API 요청 및 메소드 및 모든 요청 데이터를 입력 할 수 있습니다. 그런 다음 access_token, API 요청을하고 응답을 출력합니다. (쉘 스크립트는 Mac MacOS 및 다른 유닉스 / 리눅스 시스템에 기본적으로 설치되는 cURL을 사용합니다. Windows에 설치할 수 있습니다..

    액세스 토큰을 검색하려면 다음에 대한 POST 요청을하십시오.

          https://oauth.brightcove.com/v4/access_token

    이 호출과 함께 다음 헤더를 전달해야합니다.

    • Content-Type: application/x-www-form-urlencoded
    • Authorization: Basic {client_id}:{client_secret}

    전체 {client_id}:{client_secret} 문자열은 Base64로 인코딩되어야합니다 (curl은 문자열을 Base64로 인코딩하면 자동으로 인코딩됩니다. --user 신임장; 다른 언어에서는 Base64 인코딩을 직접 처리해야합니다.

    요청 본문 또는 URL 매개 변수로 다음 키 / 값 쌍을 보내야합니다.

          grant_type=client_credentials

    응답은 다음과 같이 보일 것입니다.

          {
              "access_token": "ANB7xKhiUZmwltVd3f1odcHHM9VAwg02kwmLwtZwHv3SxGCOWLUf5W4G7X22PRjmR9StvFUqzpVZ1suOfyfOigdi-rnohxyEaSSuZceeLw_9OBW7fXldOG05HEgkeK3N-DBZZZyilodmjA1JWZHbgI3IU7Rmz5IPGyi-sDxHN3KlOr1BDZlLZpXPdFPwEyb6idq-z8AL-blKTSMtNI3_fz3oNBisfrHGUv5tXHoQT4B7FYcvdrap16gTOO7_wNt1zmgLJiUHvyxZgsgBchm_AhohVL-AYgcfCbCR0v7d2hgI4ag35pnZNeujDiBLfnCFcVMlqQGq8UEVZrmU9a8y4pVAGih_EImmghqmSrkxLPYZ800-vIWX-lw",
              "token_type": "Bearer",
              "expires_in": 300
          }

    그리고, access_token 가치는 당신이 Authorization 헤더를 다음 형식의 API 호출과 함께 사용하십시오.

          Authorization: Bearer {access_token}

    그리고, expired_in value는 액세스 토큰이 유효한 초 수입니다.

    자세한 내용과 샘플 코드는 액세스 토큰 얻기


    페이지 최종 업데이트 28 Sep 2020