Roblox 為每個遊戲提供了 秘密 儲存庫。秘密是敏感資料,例如 API 金鑰、密碼和存取令牌,您可以用來驗證外部服務。例如,如果您想連接到第三方分析或音樂服務,您可能需要使用 API 金鑰來進行驗證。
您可以將 API 金鑰複製並粘貼到腳本中或將其添加到資料儲存中,但這些方法存在不必要的安全風險。更好的解決方案是使用秘密儲存庫,並使用一組安全的方法來訪問該金鑰。
添加秘密
要查看、創建或編輯秘密,您必須是遊戲擁有者或群組擁有者。每個遊戲最多可以有 500 個秘密。
前往 創作者儀表板。
選擇您的遊戲,然後選擇 秘密 ⟩ 創建秘密。
輸入名稱、秘密和相關的域名。
- 名稱作為秘密的唯一標識符,因此我們建議使用描述性名稱。
- 秘密可以長達 1,024 個字符。API 金鑰和存取令牌應該來自服務提供者,但如果秘密是密碼,您可能是自己創建的。
- 您可以對域名使用有限的通配符語法,例如 * 表示任何域名(不建議)或 *.example.com 代表 example.com 的任何子域名。使用更具體的域名會更好,例如 my.example.com。
本地秘密
出於安全原因,每個遊戲的秘密儲存庫僅在實時伺服器或 協作測試 環境中可用。如果您嘗試在 本地遊戲測試 中訪問秘密,您將收到 找不到具有給定金鑰的秘密 的錯誤。如果您嘗試從客戶端腳本訪問秘密,也會收到相同的錯誤。
要為本地測試指定秘密,打開 Studio,然後轉到 檔案 ⟩ 體驗設置 ⟩ 安全性。您可以在 秘密 部分創建新秘密,並編輯或刪除現有秘密。


使用秘密
在遊戲中使用秘密之前,您必須在 Studio 的 檔案 ⟩ 體驗設置 視窗的 安全性 部分啟用 允許 HTTP 請求。然後在伺服器腳本中調用 HttpService:GetSecret():
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
使用秘密儲存庫的吸引力之一在於,您無法意外打印出秘密。以下代碼輸出的是您在創建秘密時提供的名稱,而不是秘密本身:
print(testSecret) --> 秘密(test_secret)
您無法直接操作字符串。相反,Secret 數據類型讓您可以為秘密添加前綴和後綴,以幫助形成 URL 或插入內容,例如 Bearer:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")local prefix = "https://my.example.com/endpoint?apiKey="local suffix = "&user=username"local url = testSecret:AddPrefix(prefix)url = url:AddSuffix(suffix)print(url) --> https://my.example.com/endpoint?apiKey=秘密(test_secret)&user=username
在您擁有插入秘密的 URL 後,您可以使用 HttpService:RequestAsync() 等方法進行標準 HTTP 請求。當然,您也可以忽略這些方法,將秘密直接插入到標頭中。