(舊版) REST API逐步指南(使用者端對伺服器) rest-api-cookbook-client-to-server
概觀 overview
本檔案逐步說明程式設計師的工程團隊,如何使用REST API服務整合「智慧型裝置」(遊戲主機、智慧型電視應用程式、機上盒等)與Adobe Pass驗證。 這種使用者端對伺服器方法使用REST API,而不是使用者端SDK,可讓不同平台有更廣泛的支援,針對這些平台,開發大量不重複SDK將不可行。 如需無使用者端解決方案運作方式的廣泛技術概覽,請參閱無使用者端技術概覽。
此方法需要兩個元件(串流應用程式和AuthN應用程式)才能完成所需的流程:串流應用程式中的啟動、註冊、授權和檢視媒體流程,以及AuthN應用程式中的驗證流程。
節流機制
Adobe Pass驗證REST API受節流機制所控管。
元件 components
在工作中的使用者端對伺服器解決方案中,涉及以下元件:
流程 flows
動態使用者端註冊(DCR)
Adobe Pass使用DCR來保護程式設計人員應用程式或伺服器與Adobe Pass服務之間的使用者端通訊。 DCR流程是獨立的,在動態使用者端註冊概觀檔案中有所說明。
串流(智慧型裝置)應用程式流程
啟動流程
-
您的應用程式會啟動並載入其初始UI。
-
取得/產生裝置識別碼。
-
發出Check-authentication呼叫以檢視裝置是否已驗證。 例如:
<SP_FQDN>/api/v1/checkauthn [device ID]
-
如果
checkauthn
呼叫成功,請從步驟2開始進行授權流程。 如果失敗,請啟動「註冊流程」。
註冊流程
-
取得註冊碼和URL,讓您的使用者使用來存取您的第二熒幕登入應用程式,並將這些呈現給使用者:
a.傳送POST要求至Adobe註冊代碼服務,傳遞雜湊裝置ID和「註冊URL」。 例如:
<REGGIE_FQDN>/reggie/v1/[requestorId]/regcode [device ID]
b.向使用者呈現傳回的註冊代碼和URL。
c.指示使用者切換到可支援網頁的裝置,導覽至URL,然後輸入註冊代碼。
授權流程
-
使用者從第二熒幕應用程式返回,並按裝置上的「繼續」按鈕。 或者,您可以實作輪詢機制來檢查驗證狀態,但Adobe Pass驗證建議使用繼續按鈕方法來取代輪詢。 例如: <SP_FQDN>/api/v1/tokens/authn
-
傳送GET請求至Adobe Pass Authentication Authorization Service以啟動授權。 例如:
<SP_FQDN>/api/v1/authorize [device ID, Requestor ID, Resource ID]
-
如果回應指出成功:使用者具備有效的AuthN權杖,且使用者已獲授權可觀看要求的媒體(此使用者具備有效的AuthZ權杖)。
-
如果回應指出失敗:請檢查擲回的例外狀況,以判斷其型別(AuthN、AuthZ或其他專案):
-
如果是AuthN錯誤,請重新啟動註冊流程。
-
如果這是AuthZ錯誤,則使用者無權觀看請求的媒體,並且應向使用者顯示某種錯誤訊息。
-
如果發生其他錯誤(連線錯誤、網路錯誤等),則向使用者顯示適當的錯誤訊息。
-
檢視Media流程
-
展示媒體選擇。 使用者選擇要檢視的媒體。
-
媒體是否受到保護?
a.您的應用程式會檢查媒體是否受到保護。
b.如果媒體受到保護,您的應用程式會啟動授權
(AuthZ)流量高於。c.如果媒體未受保護,則播放的媒體
使用者。 -
播放媒體。
AuthN (第2個畫面)應用程式流程
-
取得此使用者的MVPD清單。 例如:
<SP_FQDN>/api/v1/config/[requestorID]
-
檢查驗證是否成功。 例如:
<SP_FQDN>/api/v1/checkauthn/[registration code][requestor ID]
-
將使用者傳回您的智慧裝置應用程式,以完成授權流程。
合作夥伴單一登入 partner-sso
某些裝置提供合作夥伴單一登入(SSO)的專屬支援:
平台單一登入 platform-sso
某些裝置提供平台單一登入(SSO)的專屬支援:
REST API的TempPass和Promotification TempPass temppass
對於不需要使用者輸入認證的TempPass和Promotional TempPass實作,可以直接在串流應用程式中實作驗證。
為了使用此API,串流應用程式需要確定裝置ID的唯一性,因為這是用來識別權杖以及選用的額外資料。