Widevine授權Token要求/回應 widevine-license-token-request-response

Widevine授權Token介面可提供生產和測試服務。

此HTTP要求傳回可兌換為Widevine授權的Token。

方法:GET,POST (內含www-url編碼內文,其中包含這兩種方法的引數)

URL:

  • 生產: https://wv-gen.{prod_domain}/hms/wv/token

  • 測試: [https://wv-gen.test.expressplay.com/hms/wv/token](https://wv-gen.test.expressplay.com/hms/wv/token)

  • 範例要求:

    code language-none
    https://wv-gen.service.expressplay.com/hms/wv/token?customerAuthenticator=
    <ExpressPlay customer authenticator identifier>
    
  • 範例回應:

    code language-none
    https://wv.service.expressplay.com/hms/wv/rights/?ExpressPlayToken=<base64-encoded ExpressPlay token>
    

表13: Token查詢引數

查詢引數
說明
必填?
customerAuthenticator
這是您的客戶API金鑰,分別用於生產和測試環境。 您可以在ExpressPlay的「管理控制面板」標籤上找到此資訊。
errororformat

兩者之一 html 或 json .

如果 html (預設值)任何錯誤的HTML表示會顯示在回應的圖元主體中。 如果 json 指定時,會傳回JSON格式的結構化回應。 另請參閱 JSON錯誤以取得詳細資訊。

回應的mime型別是 text/uri-list 成功時, text/html 的 html 錯誤格式,或 application/json 的 json 錯誤格式。

表14:授權查詢引數

查詢引數
說明
必填?
generalFlags
代表授權旗標的4位元組十六進位字串。 '0000'是唯一允許的值
kek
金鑰加密金鑰(KEK)。 金鑰是使用KEK使用金鑰包裝演演算法(AES Key Wrap,RFC3394)加密儲存的。
kid
內容加密金鑰或字串的16位元組十六進位字串表示法 ^somestring'. 字串的長度,後面接著 ^ 不可超過64個字元。 如需範例,請檢視下方的注意事項。
ek
已加密內容金鑰的十六進位字串表示法。
contentKey
內容加密金鑰的16位元組十六進位字串表示法
是,除非 kekekkid 已提供
contentId
內容ID
securityLevel

允許值為1-5。

  • 1 = SW_SECURE_CRYPTO
  • 2 = SW_SECURE_DECODE
  • 3 = HW_SECURE_CRYPTO
  • 4 = HW_SECURE_DECODE
  • 5 = HW_SECURE_ALL
hdcpOutputControl

允許值為0、1、2。

  • 0 = HDCP_NONE
  • 1 = HDCP_V1
  • 2 = HDCP_V2
licenseDuration *
授權持續時間(秒數)。 若未提供,表示持續時間沒有限制。 如需詳細資訊,請檢視下方的注意事項。
wvExtension
包裝extensionType和extensionPayload的簡短表單,以逗號分隔字串。 請參閱下方的格式。 範例: …&wvExtension=wudo,AAAAAA==&…
否,可使用任何數字

關於 licenseDuration

  1. 播放將停止 licenseDuration 播放開始後的秒數。
  2. 若要允許播放停止/繼續無限制的時間,請省略 licenseDuration (預設為無限)。 否則,請指定終端使用者應該能夠享受串流的時間長度。

表15:權杖限制查詢引數

查詢引數
說明
必填?
expirationTime
此Token的到期時間。 此值必須是中的字串 RFC 3339 'Z'區域指示器中的日期/時間格式('Zulu time'),或前面有+號的整數。 RFC 3339日期/時間的範例為2006-04-14T12:01:10Z。
如果值是中的字串 RFC 3339 日期/時間格式,則代表權杖的絕對到期日期/時間。 如果值是前面有+號的整數,則會從簽發將其解譯為權杖有效的相對秒數。 例如, +60 指定一分鐘。
權杖存留期的上限和預設(如果未指定)為30天。

表16:相互關聯查詢引數

查詢引數
說明
必填?
cookie
Token中最多可包含32個字元的任意字串,由Token贖回伺服器記錄。 可用來關聯兌換伺服器的記錄專案與服務提供者伺服器的記錄專案。

表17: HTTP回應

HTTP狀態代碼
說明
Content-Type
實體本文包含
200 OK
沒有錯誤。
text/uri-list
授權贏取URL + Token
400 Bad Request
無效的引數
text/htmlapplication/json
錯誤說明
401 Unauthorized
驗證失敗
text/htmlapplication/json
錯誤說明
404 Not found
URL錯誤
text/htmlapplication/json
錯誤說明
50x Server Error
伺服器錯誤
text/htmlapplication/json
錯誤說明

表18:事件錯誤代碼

程式碼
說明
-2002
無效的權杖到期時間: <details>
-2003
無效的IP位址
-2005
無效的內容加密金鑰: <details>
-2008
指定的輸出控制旗標無效: <details>
-2017
必須提供驗證權杖
-2018

驗證Token無效: <details>

注意:如果驗證器錯誤或使用生產驗證器在*.test.expressplay.com存取測試API時,可能會發生這種情況,反之亦然。

注意:測試SDK和進階測試工具(ATT)僅適用於 *.test.expressplay.com ,但生產裝置必須使用 *.service.expressplay.com

.

-2019
可用的權杖不足
-2022
缺少租借期間結束時間
-2023
缺少租借播放期間
-2025
無效的租借播放期間
-2027
內容加密金鑰長度必須為32個十六進位數字
-2030
ExpressPlay管理錯誤: <details>
-2031
服務帳戶已停用
-2033
無效的Cookie
-2034
無效的輸出控制項,值超出指定範圍
-2035
未指定對應的值
-2036
擴充功能型別應為4個字元
-2037
擴充功能承載應採用Base64編碼
-2040
OutputControlFlag 必須編碼4個位元組
-3004
指定的錯誤格式無效: <format>
-4001
無法驗證裝置
-4010
無效的權杖
-4018
遺失 kid
-4019
無法從金鑰儲存服務取得內容金鑰
-4020
kid 長度必須為32個十六進位字元
-4021
kid 「^」之後必須為64個字元
-4022
無效 kid
-4024
無效的加密金鑰或 金鑰
-5003
無效的一般旗標
-6005
指定的金鑰資料無效
-6007
指定的租借期間無效
-7002
Widevine不支援裝置ID繫結
-7003
缺少安全性層級值
-7004
無效的安全性層級值
-7006
遺失HDCP輸出控制值
-7007
指定的授權期間無效
-7008
無法產生Widevine授權
-7009
無效 WVExtension 指定的引數
-7011
Widevine選項已停用
recommendation-more-help
65c6b713-0922-46bf-a817-e70a5a893727