促銷臨時通票 promotional-temp-pass
功能摘要 feature-summary
促銷暫存密碼可讓程式設計師為沒有MVPD帳戶憑證的使用者,提供其受保護內容的暫時存取權。
促銷暫存密碼設計用於執行促銷活動,讓使用者在提供有效的識別資訊(例如電子郵件地址)給程式設計師之後,可以在預先定義的時段 內使用 個預先定義的不同數量VOD標題。
促銷暫時傳遞是建置在暫時傳遞功能之上,這表示它包含所有暫時傳遞功能。
一旦超過預先定義的最大VOD標題數量或預先定義的時間期間,該使用者將無法存取相同裝置上的內容,或是透過使用相同的使用者識別碼資訊(例如,電子郵件地址)進行存取,直到從Adobe Pass驗證伺服器清除授權權杖為止。
暫時通過和促銷暫時通過比較 tp-ptp-comparison
存取內容
- 基於時間
存取內容
- 基於時間
- 根據資源數量
存取安全性依據
- 裝置ID
安全性依據
- 裝置ID
- 雜湊覆蓋提供的使用者識別碼資訊(例如電子郵件)
功能詳細資料 feature-details
此功能可讓使用者在程式設計師的應用程式中提供唯一資訊(例如電子郵件地址)後,存取特定裝置(電話和平板電腦)的促銷內容。
程式設計師將在驗證和授權API上使用者的PII上提供雜湊。 此雜湊將與裝置ID搭配使用,以產生唯一索引鍵來識別使用者和裝置。
Adobe Pass驗證會根據裝置ID和使用者提供的資訊,並依照下列邏輯判斷使用者是否正在進行新的試用或現有的試用:
- 新雜湊會覆寫使用者提供的資訊(例如電子郵件)、新裝置ID =>新試用版
- 現有的雜湊覆蓋使用者提供的資訊(例如電子郵件)、新裝置ID =>現有的試用版(搭配現有的雜湊覆蓋使用者提供的資訊(例如電子郵件))
- 新的雜湊會覆蓋使用者提供的資訊(例如電子郵件)、現有裝置ID =>現有試用版(含現有裝置ID)
- 現有雜湊覆蓋使用者提供的資訊(例如電子郵件)、現有裝置ID =>現有試用版
可根據下列屬性設定提升暫存通關功能:
- 使用者提供的資訊金鑰(例如電子郵件)
- 使用者有權使用的資源數
- TTL — 使用者有權使用已設定資源數的時間間隔
使用者中繼資料 user-metadata
為了加速程式設計師應用程式的實作,下列 使用者中繼資料資訊會公開在提升暫存密碼上,其中包含對應的金鑰(若要啟用金鑰,請連絡tve-support@adobe.com):
- remaining_resources:目前使用者有權使用的剩餘資源數目
- used_assets:目前使用者已使用的資源清單
- expiration_date:目前使用者的到期日
如何計算檢視時間? compute-viewing-time
暫時通過保持有效的時間與使用者在程式設計人員應用程式上檢視內容的時間無關。 透過提升暫存通過的初始使用者授權請求時,到期時間透過將初始目前請求時間加到程式設計師指定的TTL (持續時間時間間隔)來計算。
驗證和授權 authn-authz
對於「促銷暫存傳遞」流程,驗證和授權不會與實際MVPD通訊,因此,只要符合以下所有條件,所有授權要求都會成功:
- 授權權杖對指定資源有效
- used_assets 的數目低於程式設計師設定的限制
- expiration_date 值晚於目前日期。
預檢行為 preflight-beh
當針對「促銷暫時通過」MVPD提出預檢或預先授權要求時,傳回的對應「預檢」回應將包含預檢成功時來自「預檢要求」的完整資源清單。
其背後的邏輯是:「促銷臨時通過」授權條件是根據時間和資源編號限制,而非特定資源。 更具體地說,只要符合時間限制且未超過資源限制,呼叫的資源就會獲得授權。
SSO sso
SSO不會針對促銷臨時傳遞的例項啟用,其設定為啟用「每個請求者的驗證」。 這表示當使用者從應用程式A切換到另一個應用程式B (兩者皆與相同的促銷臨時傳遞整合)時,使用者將不會自動登入。
登出 logout
登出時會刪除裝置上的所有Token。 因此,從「促銷暫時傳遞」切換至一般使用者選取的MVPD時,不應依賴此實作。 建議使用setSelectedProvider(null)
函式以清除應用程式狀態,然後重新啟動驗證流程,這樣會提供更佳的使用者體驗。
促銷暫時通過流程圖 promo-tempass-flowdia
圖:促銷暫時傳遞流程
實作促銷暫時傳遞 impl-promo-tempass
促銷臨時傳遞需要下列使用者端功能:
- 使用者識別碼資訊,例如電子郵件地址傳播 (在驗證和授權流程上傳送使用者的電子郵件地址)。 Adobe Pass驗證需要電子郵件來繫結驗證和授權權杖(類似於
device_ID
的情況,所有呼叫都需要)。 - 強制驗證 — 允許程式設計師在使用者已驗證時強制驗證流程。 每次啟動應用程式時,必須使用此功能才能強制重新整理使用者中繼資料(使用者中繼資料索引鍵 used_assets 包含可用資源的數目)。 由於使用者可在多部裝置上登入,因此應用程式啟動期間裝置上呈現的使用者中繼資料並不可靠,我們需要更新該中繼資料,以反映該特定使用者的目前狀態(以電子郵件地址識別)。
Adobe Pass驗證沒有內建機制可在X分鐘後停止免費串流。 當使用者耗用Y可用資源時,Adobe Pass驗證將停止發出 授權 和 短媒體 權杖。 一旦「促銷臨時通過」過期,便由程式設計師來限制存取。
安全性 security
使用者識別碼資訊的雜湊處理
Adobe建議在傳送至Adobe之前,先對資料使用 SHA-2 系列或其特定的 SHA-256、SHA-512 功能。
例如,超過 "user@domain.com" 的 SHA-256 是 "f7ee5ec7312165148b69fcca1d29075b14b8aef0b5048a332b18b88d09069fb7"。
重設或永久刪除促銷暫時傳遞 reset-promo-tempass
某些商業規則需要定期永久刪除「促銷臨時通行」。 為此,Adobe Pass驗證為程式設計師提供 公用 網頁API,如下所述:
DELETE https://mgmt.auth.adobe.com/reset-tempass/v2/reset
-
通訊協定: https
-
主機:
- 發行版本: mgmt.auth.adobe.com
- 前qual: mgmt-prequal.auth.adobe.com
-
路徑: /reset-tempass/v2/reset
-
查詢引數: device_id=all&requestor_id=THE_REQUESTOR_ID&mvpd_id=THE_TEMPASS_MVPD_ID
-
標頭: ApiKey: 1232293681726481
-
回應:
- 成功: HTTP 204
- 失敗: HTTP 400 為不正確的要求,HTTP 401 (若未指定ApiKey),HTTP 403 (若ApiKey無效)
除了永久刪除暫時傳遞的需求之外,促銷暫時傳遞也會在驗證及永久刪除授權時,使用雜湊來取代以 generic_data 傳送的使用者識別碼資訊。
將會傳送雜湊,而非整個JSON:
$ curl -X DELETE -H "Authorization:Bearer H4j7cF3GtJX81BrsgDa10GwSizVz" "https://mgmt.auth.adobe.com/reset-tempass/v2.1/reset/generic?key=f7ee5ec7312165148b69fcca1d29075b14b8aef0b5048a332b18b88d09069fb7&requestor_id=REF&mvpd_id=FlexibleTempPass"
支援的使用者端 supported-clients
限制 limitations
本節說明適用於目前實作「促銷臨時通行」的限制。
無使用者端 lim-clientless
沒有唯一裝置識別碼的智慧型裝置
並非所有智慧型裝置應用程式都能提供不重複裝置ID。 如果沒有此ID,Adobe Pass驗證可以使用Adobe註冊代碼服務產生的UUID作為唯一裝置ID。 這表示使用者登出時,將會刪除驗證和授權權杖。 一旦使用者將嘗試再次驗證,這次使用不同的使用者資訊(例如,電子郵件)使用者將能夠再次授權。 Adobe建議新增UI流程,該流程不允許使用者「愚弄」系統,並且新增邏輯來判斷它是新使用者請求試用還是現有試用。
正在重設/清除暫時傳遞
Xbox360和Xbox One的特定情況下無法使用無使用者端的Reset Temp Pass,因為這些平台需要額外的裝置ID剖析,在Reset Temp Pass工具中則無法使用。