Selain mengelola rahasia Anda dalam permainan, Anda dapat mengelola rahasia menggunakan API penyimpanan rahasia Open Cloud.
Sebelum menggunakan API, Anda harus menghasilkan kunci API dengan sistem API secret-store atau mengonfigurasi aplikasi OAuth 2.0 Anda dengan tipe ruang lingkup universe.secret. Contoh-contoh di halaman ini menggunakan kunci API.
Enkripsi rahasia
Saat membuat atau memperbarui rahasia di Roblox, Anda harus mengenkripsi rahasia dengan LibSodium sealed box dan kunci publik permainan Anda, kemudian melakukan base64-encode hasilnya.
Pertama, dapatkan kunci publik permainan Anda:
curl --location 'https://apis.roblox.com/cloud/v2/universes/{universeId}/secrets/public-key' \--request GET \--header 'x-api-key: <your-secret-here>' \
Selanjutnya, buat sealed box dan lakukan base64-encode. Contoh di bawah ini menggunakan Python dan PyNaCl. (Jalankan pip install pynacl untuk menginstalnya secara lokal).
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"))
Anda kemudian dapat membuat atau memperbarui rahasia menggunakan output. Contoh ini membuat rahasia baru:
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"}'
Setelah Anda membuat satu, lihat Gunakan rahasia untuk menggunakan rahasia Anda dalam permainan.
Pembaruan rahasia
Untuk memperbarui rahasia di atas:
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"}'
Jika Anda perlu membersihkan sebuah rahasia, permintaan penghapusan terlihat seperti ini:
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>'