Zusätzlich zum Verwalten Ihrer Geheimnisse innerhalb von Spielen können Sie Geheimnisse mit der Open Cloud Geheimnisspeicher-API verwalten.
Bevor Sie die API verwenden, müssen Sie einen API-Schlüssel generieren mit dem secret-store API-System oder Ihre OAuth 2.0-App konfigurieren mit dem universe.secret Scope-Typ. Die Beispiele auf dieser Seite verwenden API-Schlüssel.
Geheimnisverschlüsselung
Bei der Erstellung oder Aktualisierung von Geheimnissen auf Roblox müssen Sie Geheimnisse mit einer LibSodium sealed box und dem öffentlichen Schlüssel Ihres Spiels verschlüsseln und das Ergebnis dann base64-kodieren.
Zuerst, holen Sie sich den öffentlichen Schlüssel Ihres Spiels:
curl --location 'https://apis.roblox.com/cloud/v2/universes/{universeId}/secrets/public-key' \--request GET \--header 'x-api-key: <your-secret-here>' \
Als nächstes erstellen Sie eine versiegelte Box und kodieren sie in base64. Das folgende Beispiel verwendet Python und PyNaCl. (Führen Sie pip install pynacl aus, um es lokal zu installieren).
from base64 import b64encodefrom nacl import encoding, publicpublic_key = "Zgj4+V7vSaEZ06rXazKJUIcUnVa95tUNiwXAif/vdHo="secret_content = "mein_api_schlüssel_inhalt"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"))
Sie können dann ein Geheimnis erstellen oder aktualisieren, indem Sie die Ausgabe verwenden. Dieses Beispiel erstellt ein neues Geheimnis:
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"}'
Nachdem Sie eines erstellt haben, siehe Geheimnisse verwenden, um Ihr Geheimnis im Spiel zu verwenden.
Geheimnisse aktualisieren
Um das oben genannte Geheimnis zu aktualisieren:
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"}'
Wenn Sie ein Geheimnis bereinigen müssen, sieht eine Löschanfrage so aus:
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>'