EDS 授權
簡介
Entertainment Discovery Services (EDS) 3.1 不支援匿名流量。所有對 EDS 的要求都需要驗證。EDS 會要求呼叫者提供 XToken,以正確驗證用戶端。這些權杖由 XSTS 產生,可透過各種 XBOX Authentication Services (XAS) 取得。裝置、使用者和遊戲各有不同的驗證服務,這些服務都會定義權杖的身分識別。 XSTS 是 XBOX LIVE 的守門員。它是第一道防線,用來判斷使用者或裝置是否獲得授權連線至任何 XBOX LIVE 服務。驗證使用者之後,XSTS 會產生 XToken,讓他們可以用來向服務上的任何元件安全地識別自己。此 XToken 就是您進入 LIVE 的通行證。 人和物都想要使用我們的服務。而我們也希望其中大多數的物和人都能使用我們的服務。但是,我們要如何確保物不會假裝成人,以及人確實是他們所宣稱的身分?我們會提供權杖給他們,讓他們可以用來向其他人識別自己。 這些權杖由 XSTS 產生,通常稱為 XToken。XToken 是一個廣泛的術語,用來涵蓋包含各種不同內容、可能採用許多不同形式的權杖,但它們全都是由 XSTS 伺服器建立、簽署,並可選擇性地加密。在內部,XSTS 使用 MXAN 來建立和格式化權杖。MXAN 是唯一會從 XToken 擷取資訊的元件。使用權杖的服務會將要求標頭傳遞給 MXAN 進行解析。權杖會經過處理和驗證,而權杖中表達的宣告會傳回給服務。接著,服務可以使用這些宣告值來識別呼叫的使用者或裝置,並根據該資訊執行動作。 基本身分識別權杖 (適用於使用者、裝置和遊戲) 由 XBOX Authentication Services (XAS) 提供。每個 XAS 負責產生身分識別權杖,為其所負責的各種宣告指定值。- XASD (裝置的 XAS):建立提供裝置身分識別的 DToken
- XASU (使用者的 XAS):建立提供使用者身分識別的 UToken
- XAST (遊戲的 XAS):建立提供遊戲身分識別的 TToken
授權流程
-
取得一或多個身分識別權杖。您可以使用 D、U 和 T 權杖各最多一個來要求 XToken。您必須至少提供 D 或 U 其中之一。
- 提供裝置驗證詳細資料,向 XASD 要求 DToken
- 使用某種形式的使用者驗證向 XASU 要求 UToken。使用者驗證可能是以 MSA (RPS) 權杖的形式提供。
- 向 XAST 要求 TToken。可用的遊戲取決於目前執行的平台,因此您也必須向 XAST 提供 DToken。
-
建立 XSTS 要求。
- 定義您要求權杖的信賴憑證者。
- 使用 D、U 和/或 T 權杖填入要求屬性。
- 執行 XSTS 要求,並快取產生的 XToken。傳回的 XToken (最多) 包含來自身分識別權杖的所有裝置、使用者和遊戲身分識別資訊,以及任何其他宣告 (目前的訂閱狀態、使用者群組等)。
3.0 權杖:多使用者與單一使用者
這是 3.0 權杖的形式:XBL3.0 x=<hash>;<token>
根據 <hash>,權杖的處理方式會有所不同:
- 如果 <hash> 等於 * (星號),則沒有特定使用者執行要求,且權杖中的所有使用者都會出現在還原序列化的主體中。這是真正的多使用者形式。
- 如果 <hash> 等於 - (破折號),則沒有使用者執行要求。還原序列化主體中的任何使用者都會被移除。
- 如果 <hash> 不等於 * 或 -,則它是一個識別碼,指出權杖中的哪個使用者正在發出要求。只有指定的使用者會出現在還原序列化的主體中。所有其他使用者都會被移除。這是單一使用者 3.0 權杖。
EDS 是否支援多使用者?
- 答案是否定的。在所述的情況下,主機一律會傳送單一使用者權杖。即使有多個使用者登入,也必須有一個指定的「呼叫者」,所有其他身分識別都會被捨棄。
