除了 在遊戲中管理您的秘密 外,您還可以使用 Open Cloud 秘密存儲 API 管理秘密。
在使用 API 之前,您必須 生成一個 API 金鑰 來使用 secret-store API 系統,或 配置您的 OAuth 2.0 應用程序 以獲取 universe.secret 範圍類型。此頁面的範例使用 API 金鑰。
秘密加密
當在 Roblox 上創建或更新秘密時,您必須使用 LibSodium 封閉盒 和您的遊戲公鑰對秘密進行加密,然後將結果進行 base64 編碼。
首先,獲取您的遊戲公鑰:
curl --location 'https://apis.roblox.com/cloud/v2/universes/{universeId}/secrets/public-key' \--request GET \--header 'x-api-key: <your-secret-here>' \
接下來,創建一個封閉盒並進行 base64 編碼。以下範例使用 Python 和 PyNaCl。 (運行 pip install pynacl 在本地安裝)。
from base64 import b64encodefrom nacl import encoding, publicpublic_key = "Zgj4+V7vSaEZ06rXazKJUIcUnVa95tUNiwXAif/vdHo="secret_content = "my_api_key_content"public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder())sealed_box = public.SealedBox(public_key)encrypted = sealed_box.encrypt(secret_content.encode("utf-8"))print(b64encode(encrypted).decode("utf-8"))
然後,您可以使用輸出創建或更新秘密。這個範例創建一個新的秘密:
curl --location 'https://apis.roblox.com/cloud/v2/universes/6930499524/secrets' \--request POST \--header 'Content-Type: application/json' \--header 'x-api-key: <your-secret-here>' \--data '{"id": "mySecret","secret": "fP9scJkcDk492F4c1VHZ5QS8v2qsAg7uI+NVVEw6zC0GBnj7xpi7UrNr++lCfr4wyq3ia9Uuu+Ao8HtIXz2gRxBX","key_id": "1200590785272263122"}'
創建後,請參閱 使用秘密 在遊戲中使用您的秘密。
更新秘密
要更新上述秘密:
curl --location 'https://apis.roblox.com/cloud/v2/universes/6930499524/secrets/mySecret' \--request PATCH \--header 'Content-Type: application/json' \--header 'x-api-key: <your-secret-here>' \--data '{"secret": "2Fczw/PL7woOzHnGHQ65sT0MbzJjEOlfibyKxy374CqzFyEb2QTS8grtNBgG/0sfIvSHEo9JWN+pUr0NTPs0V6lj","key_id": "1200590785272263122"}'
如果您需要清除秘密,刪除請求如下所示:
curl --location 'https://apis.roblox.com/cloud/v2/universes/6930499524/secrets/mySecret' \--request DELETE \--header 'Content-Type: application/json' \--header 'x-api-key: <your-secret-here>'