서문
Brightcove 재생 제한을 사용하면 비디오 재생에 대한 장치 제한을 설정할 수 있습니다. DRM 라이센스 요청이 이루어질 때 각 사용자의 장치는 고유한 ID로 등록됩니다. 사용자 당 장치 수를 제어합니다.
장치 제한은 각 라이센스 요청에 대해 확인되고 적용됩니다. 이 제한을 사용하려면 JSON 웹 토큰(JWT)현재 사용자 ID로uid
재생 API에.
이 기능을 처음 사용하는 경우개요를 참조하십시오. 브라이트코브 재생 제한문서.
장치 등록
다음을 포함하는 유효한 재생 요청이 있을 때 장치가 Brightcove에 등록됩니다. JSON 웹 토큰(JWT) ~와 함께uid
그리고dlimit
클레임이 접수됩니다. 그 순간부터이 장치는 하나의 슬롯을 차지합니다.
JWT 클레임
장치 제한의 경우 일반적으로 필요한 클레임과 함께 다음 클레임을 사용할 수 있습니다.
-
uid
:엔드 뷰어의 사용자 ID입니다. 이 필드는 장치 등록에 필요합니다.
-
dlimit
:DRM 콘텐츠의 경우
dlimit
클레임은 사용자가 스트리밍할 수 있는 장치 수를 나타냅니다. 스트림을 요청하는 각 사용자의 모든 장치가 등록됩니다. 스트림 제한에 도달하면 더 이상 장치에서 스트리밍할 수 없습니다.dlimit
클레임을 통해 지정된 사용자와 연결할 수 있는 장치 수를 제어할 수uid
있습니다. 값은 >이어야 합니다0
.이후 요청에서
dlimit
클레임 값을 삭제해도 이전에 허용된 장치는 계속 작동합니다.예:
dlimit
값을 로 설정하면 사용자는 기기 A3
, B, C에서 플레이할 수 있습니다 (모두 허용). 장치 D에서 재생하려고 하면 거부됩니다.dlimit
값을 로1
변경해도 사용자는 Devices API로 기기를 관리하여 기기를 수동으로 취소하지 않는 한 3개의 기기 A, B, C 모두에서 계속 플레이할 수 있습니다. 이렇게 하려면 장치관리섹션을 참조하십시오.
구현
기기 제한을 사용하려면 다음 단계를 따르세요.
-
만들기 JSON 웹 토큰(JWT)일반적으로 요구되는 클레임과 함께
uid
그리고dlimit
주장.DRM 라이센스 요청이 이루어질 때 각 사용자의 장치는 고유한 ID로 등록됩니다.
-
디바이스 API를사용하여 사용자 디바이스를 관리합니다. 이 API를 사용하면 사용자의 장치를 가져오고 장치를 삭제하고 장치 이름을 업데이트 할 수 있습니다.
장치가 등록되면 아이디와 닉네임으로 식별됩니다. Devices API를 사용하면 장치 별명을 편집하여 장치 목록을 쉽게 관리 할 수 있습니다.
- 플레이어 구성를 사용하기 위해JSON Web Token (JWT) 이전 단계에서 생성되었습니다.
장치 관리
디바이스 API를 사용하여 사용자디바이스를 관리할 수있습니다.
장치 API
Devices API를 사용하여 사용자 장치를 가져오고 삭제할 수 있습니다.
기본 URL
API의 기본 URL은 다음과 같습니다.
https://playback-auth.api.brightcove.com/v1
계정 경로
모든 경우에 특정 Video Cloud 계정에 대한 요청이 이루어집니다. 따라서 항상 용어 계정을 추가하고 계정 ID를 기본 URL에 추가합니다.
https://playback-auth.api.brightcove.com/v1/accounts/{accountID}
권한
요청에 대한 액세스 토큰이 필요하며 권한 부여 헤더에 있어야합니다.
Authorization: Bearer {access_token}
액세스 토큰은 Brightcove OAuth 서비스에서 얻어야하는 임시 OAuth2 액세스 토큰입니다. 클라이언트 자격 증명을 얻고 이를 사용하여 액세스 토큰을 검색하는 방법에 대한 자세한 내용은 Brightcove OAuth 개요를 참조하십시오 .
권한
Devices API에 대한 요청은 다음에서 이루어져야 합니다. 클라이언트 자격 증명다음 권한으로:
-
video-cloud/playback-auth/devices/read
-
video-cloud/playback-auth/devices/write
API 메소드
Devices API는 다음 요청을 지원합니다. 자세한 내용은디바이스 API 레퍼런스를 참조하십시오 .
모든 사용자 장치 가져 오기
지정된 계정 및 사용자의 모든 장치를 가져옵니다.
엔드포인트 요청GET /v1/accounts/{accountID}/users/{userID}/devices
응답 본문
응답 본문에는 장치 배열이 포함되며 다음과 유사해야합니다.
[
{
"id": "12e12345-11e1-1bd1-d123-1234567890",
"created_at": 1612646018,
"updated_at": 1612646018,
"name": "my device1",
"user_agent": "PlayReadyClient"
},
{
"id": "WVCf123456789abcdefghijkl1234567890abcdefg",
"created_at": 1612385697,
"updated_at": 1612385697,
"name": "my device2",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"
}
]
모든 계정 기기 가져오기
계정 내 각 사용자의 모든 장치를 가져옵니다. page
및per_page
매개 변수를 사용하여 응답을 제한합니다.
GET /v1/accounts/{accountID}/devices?page=0&per_page=10
파라미터:
필드 | 유형 | 설명 | 기본값 | 최대값 |
---|---|---|---|---|
page |
정수 | 요청할 페이지의 인덱스입니다. 숫자가 페이지 제한보다 크면 마지막 페이지를 차지합니다. | 0 | 마지막 인덱스 |
per_page |
정수 | 요청에 표시할 항목 수입니다. 1개부터 100개까지 설정할 수 있습니다. 값을 설정하지 않으면 기본값이 사용됩니다. | 10 | 100 |
응답 본문
응답 본문에는 다음과 같은 사용자 및 장치 배열이 포함됩니다.
{
"metadata":
{
"page": 3,
"per_page": 10,
"page_count": 5,
"total_count": 55,
"Links": [
{"self": "/v1/accounts/123456/devices?page=3&per_page=10"},
{"first": "/v1/accounts/123456/devices?page=0&per_page=10"},
{"previous": "/v1/accounts/123456/devices?page=2&per_page=10"},
{"next": "/v1/accounts/123456/devices?page=4&per_page=10"},
{"last": "/v1/accounts/123456/devices?page=4&per_page=10"}
]
},
"records": [
{
"account_id": "123456",
"user_id": "user_1",
"device": "device_1"
},
{
"account_id": "123456",
"user_id": "user_1",
"device": "device_2"
},
...
{
"account_id": "123456",
"user_id": "user_10",
"device": "device_1"
}
]
}
장치 이름 업데이트
지정된 계정, 사용자 및 장치의 장치 이름을 업데이트합니다.
엔드포인트 요청
PATCH
요청을 통해 디바이스를 설명하는 이름을 설정할 수 있습니다.
PATCH /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}
Content-Type: application/json
Body: {devices object}
요청 본문
요청 본문에는 장치 이름이 포함됩니다.
{
"name": "my device1"
}
필드 세부 정보는 다음과 같습니다.
필드 | 유형 | 설명 |
---|---|---|
name |
문자열 | 장치를 식별하는 데 도움이되는 설명적인 별명 |
모든 사용자 장치 삭제
사용자와 연결된 모든 장치를 삭제합니다.
엔드포인트 요청DELETE /v1/accounts/{accountID}/users/{userID}/devices
특정 사용자 장치 삭제
사용자의 특정 장치를 삭제합니다.
엔드포인트 요청DELETE /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}