Oyunlar içinde gizli bilgilerinizi yönetmenin yanı sıra, açık bulut gizli deposu API'sini kullanarak gizli bilgileri de yönetebilirsiniz.
API'yi kullanmadan önce, secret-store API sistemi ile bir API anahtarı oluşturmanız veya universe.secret kapsam türü ile OAuth 2.0 uygulamanızı yapılandırmanız gerekir. Bu sayfadaki örnekler API anahtarlarını kullanır.
Gizli şifreleme
Roblox'ta gizli bilgileri oluştururken veya güncellerken, gizli bilgileri LibSodium sealed box ve oyununuzun genel anahtarı ile şifrelemeniz ve ardından sonucu base64 formatında kodlamanız gerekmektedir.
İlk olarak, oyununuzun genel anahtarını alın:
curl --location 'https://apis.roblox.com/cloud/v2/universes/{universeId}/secrets/public-key' \--request GET \--header 'x-api-key: <your-secret-here>' \
Sonraki adımda, bir sealed box oluşturun ve bunu base64 formatında kodlayın. Aşağıdaki örnek Python ve PyNaCl kullanmaktadır. (Bunu yerel olarak kurmak için pip install pynacl komutunu çalıştırın).
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"))
Sonrasında çıktıyı kullanarak bir gizli bilgi oluşturabilir veya güncelleyebilirsiniz. Bu örnek yeni bir gizli bilgi oluşturur:
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"}'
Bir tane oluşturduktan sonra, oyunda gizli bilginizi kullanmak için Gizli bilgileri kullanın bölümüne bakın.
Gizli bilgileri güncelleme
Yukarıdaki gizli bilgiyi güncellemek için:
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"}'
Bir gizli bilgiyi temizlemeniz gerektiğinde, bir silme isteği şöyle görünür:
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>'