跳轉到主要內容
PlayFab 可讓您使用自訂加密保護特定用戶端 API 呼叫,藉此強化應用程式安全性。本教學課程說明如何為您的用戶端啟用加密。 我們將使用的方法可讓您保護任何登入 API 呼叫。由於流程一律相似,我們只示範如何保護一個特定方法 LoginWithCustomID。
登入加密的設計是在建立遊戲後套用於所有玩家,或完全不使用。這不是可以日後再啟用的功能。您必須從一開始就使用,否則就完全不使用。特別是,已加密的玩家永遠無法以未加密方式登入,而未加密的玩家也永遠無法成為已加密的玩家。
在本指南中,我們將:
  1. 建立玩家共用秘密。
  2. 引進 API 原則規則,以在特定方法上啟用保護。
  3. 變更用戶端,使用玩家共用金鑰擷取遊戲公開金鑰並加密承載。
PlayFab 提出以下免責聲明:「我們所有的 API 呼叫都已依照現代標準安全加密,而標準的 API 呼叫加密已足以滿足大多數客戶的需求。此功能代表額外的安全層,其目的是讓玩家更難以使用未經授權的用戶端。它並非萬無一失,只是提高駭客入侵的難度。對大多數開發人員而言,這種輕微的安全性提升並不值得投入額外的心力。」

建立玩家共用秘密

PlayFab Admin API 公開了一個方法,可用來管理您的玩家共用秘密。
以特定名稱建立新的共用秘密時,會覆寫同名的現有金鑰 (如果有的話)。此外,您可以在不同名稱下註冊多個共用秘密。
執行下列程式碼,將玩家共用秘密新增至您的遊戲。
若要執行此程式碼,您需要開發人員秘密金鑰。如需秘密金鑰的詳細資訊,請參閱秘密金鑰管理。 此應用程式應該會列印新建立的玩家共用秘密。請務必將其儲存。如果遺失,您將必須再次執行應用程式以產生新的秘密。 秘密看起來像這樣: QC953WQ3TU6ZJTZMAT1FNJQIKR92FPUQTISW4Q6WD8SY841MQQ

更新原則

我們已建立新的共用秘密。現在我們需要告訴 PlayFab 要保護哪些 API 呼叫。 執行下列程式碼來保護 LoginWithCustomId API 呼叫,並取消保護其餘的 API 呼叫。

設定用戶端

現在原則已更新,您就無法再直接呼叫 LoginWithCustomID API。請參考下列程式碼。
一般而言,這會順利登入使用者。不過,現在此 API 呼叫已受到保護,而程式碼將產生 Not Authorized 錯誤 (請勿與 Not Authenticated 混淆)。 我們需要修改用戶端,以正確加密呼叫承載。這分為 2 個步驟:
  1. 使用玩家共用秘密擷取遊戲公開金鑰。
  2. 使用遊戲公開金鑰加密承載。
下列程式碼示範了這一點。
執行程式碼後,您應該就能登入。請記住,一旦建立玩家共用秘密,就必須將其硬式編碼至用戶端程式碼中,因為無法透過任何 API 呼叫擷取或要求它。
最後修改於 2026年10月6日