Roblox menawarkan toko rahasia untuk setiap pengalaman.Rahasia adalah informasi sensitif seperti kunci API, kata sandi, dan token akses yang Anda gunakan untuk berautentikasi dengan layanan eksternal.Sebagai contoh, jika Anda ingin terhubung ke layanan analitik atau musik pihak ketiga, Anda mungkin perlu menggunakan kunci API untuk melakukan verifikasi dengannya.
Anda bisa menyalin dan menempelkan kunci API ke skrip atau menambahkannya ke penyimpanan data, tetapi pendekatan tersebut membawa risiko keamanan yang tidak perlu.Solusi yang lebih baik adalah menggunakan toko rahasia dan mengakses kunci menggunakan serangkaian metode aman kecil.
Tambahkan rahasia
Untuk melihat, membuat, atau mengedit rahasia, Anda harus menjadi pemilik pengalaman atau pemilik grup. Anda dapat memiliki hingga 500 rahasia per pengalaman.
Navigasikan ke Dashboard Pencipta.
Pilih pengalaman Anda, lalu pilih Rahasia > Buat Rahasia .
Berikan nama, rahasia, dan domain yang berlaku.
- Nama bertindak sebagai identifikator unik untuk rahasia, jadi kami sarankan sesuatu yang deskriptif.
- Rahasia bisa berpanjang hingga 1.024 karakter.Kunci API dan token akses harus berasal dari penyedia layanan, tetapi jika rahasia adalah kata password, Anda mungkin membuatnya sendiri.
- Anda dapat menggunakan sintaks kartu liar terbatas untuk domain, seperti * untuk domain apa pun (tidak direkomendasikan) atau *.example.com untuk subdomain apa pun di example.com .Domain khusus bahkan lebih baik, seperti my.example.com .
Rahasia lokal
Untuk alasan keamanan, toko rahasia untuk setiap pengalaman hanya tersedia untuk server permainan langsung atau Tes Tim lingkungan.Jika Anda mencoba mengakses rahasia dari server pengujian lokal, seperti setelah menekan tombol Mainkan di Studio, Anda menerima kesalahan Can't find secret with given key.
Untuk menentukan rahasia untuk pengujian lokal, tambahkan objek JSON yang valid dengan rahasia dienkode base64 di Pengaturan Permainan.JSON dapat berisi spasi, tetapi harus berada di satu baris.

Sebagai contoh, berikut adalah string yang dienkodekan base64 abcdefghijklmnopqrstuvwxyz dibatasi ke subdomain di example.com :
{"secretName": ["YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "*.example.com"]}
Untuk menambahkan banyak rahasia, pisahkan nilai dengan koma:
{"secretName1": ["dGVzdDE=", "*.example.com"],"secretName2": ["dGVzdDI=", "*.example.com"],"secretName3": ["dGVzdDM=", "*.example.com"]}
Gunakan rahasia
Sebelum menggunakan rahasia dalam pengalaman Anda, Anda harus mengaktifkan Izinkan Permintaan HTTP di tab Pengaturan Permainan Keamanan .Kemudian panggil HttpService:GetSecret() dalam skrip:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
Bagian dari pesona menggunakan toko rahasia adalah Anda tidak bisa secara tidak sengaja mencetak rahasia.Alih-alih rahasia itu sendiri, kode berikut menampilkan nama yang Anda berikan saat membuat rahasia:
print(testSecret) --> Secret(test_secret)
Anda tidak dapat memanipulasi string secara langsung.Sebagai gantinya, jenis data Secret memungkinkan Anda menambahkan pr prefik dan suffix ke rahasia untuk membantu membentuk URL atau menyisipkan konten seperti 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=Secret(test_secret)&user=username
Setelah Anda memiliki URL dengan rahasia yang dimasukkan, Anda dapat membuat permintaan HTTP standar menggunakan metode seperti HttpService:RequestAsync().Tentu saja, Anda dapat mengabaikan metode ini dan menyisipkan rahasia langsung ke dalam judul, juga.