Roblox menawarkan penyimpanan rahasia untuk setiap permainan. Rahasia adalah informasi sensitif seperti kunci API, kata sandi, dan token akses yang Anda gunakan untuk mengautentikasi dengan layanan eksternal. Misalnya, jika Anda ingin terhubung ke layanan analitik atau musik pihak ketiga, Anda kemungkinan perlu menggunakan kunci API untuk mengautentikasi dengannya.
Anda bisa menyalin dan menempelkan kunci API ke dalam skrip atau menambahkannya ke penyimpanan data, tetapi pendekatan tersebut membawa risiko keamanan yang tidak perlu. Solusi yang lebih baik adalah menggunakan penyimpanan rahasia dan mengakses kunci menggunakan seperangkat metode aman yang kecil.
Tambahkan rahasia
Untuk melihat, membuat, atau mengedit rahasia, Anda harus menjadi pemilik permainan atau pemilik grup. Anda dapat memiliki hingga 500 rahasia per permainan.
Navigasikan ke Dasbor Pembuat.
Pilih permainan Anda, lalu pilih Rahasia ⟩ Buat Rahasia.
Masukkan nama, rahasia, dan domain yang berlaku.
- Nama berfungsi sebagai pengidentifikasi unik untuk rahasia, jadi kami merekomendasikan sesuatu yang deskriptif.
- Rahasia dapat memiliki panjang hingga 1.024 karakter. Kunci API dan token akses harus berasal dari penyedia layanan, tetapi jika rahasia adalah kata sandi, Anda mungkin telah membuatnya sendiri.
- Anda dapat menggunakan sintaks wildcard terbatas untuk domain, seperti * untuk domain mana pun (tidak disarankan) atau *.example.com untuk subdomain mana pun di example.com. Domain spesifik bahkan lebih baik, seperti my.example.com.
Rahasia lokal
Untuk alasan keamanan, penyimpanan rahasia untuk setiap permainan hanya tersedia untuk server langsung atau lingkungan pengujian kolaboratif. Jika Anda mencoba mengakses rahasia selama pengujian lokal, Anda akan menerima kesalahan Can't find secret with given key. Anda akan menerima kesalahan yang identik jika Anda mencoba mengakses rahasia dari skrip klien.
Untuk menentukan rahasia untuk pengujian lokal, buka Studio dan kemudian buka File ⟩ Pengaturan Pengalaman ⟩ Keamanan. Anda dapat membuat rahasia baru dan mengedit atau menghapus rahasia yang ada di bagian Rahasia Lokal.
Gunakan rahasia
Sebelum menggunakan rahasia dalam permainan Anda, Anda harus mengaktifkan Izinkan Permintaan HTTP di bagian Keamanan dari jendela File ⟩ Pengaturan Pengalaman di Studio. Kemudian panggil HttpService:GetSecret() dalam skrip server:
local HttpService = game:GetService("HttpService")
local testSecret = HttpService:GetSecret("test_secret")Bagian dari daya tarik menggunakan penyimpanan rahasia adalah bahwa Anda tidak dapat secara tidak sengaja mencetak rahasia. Alih-alih rahasia itu sendiri, kode berikut mengeluarkan nama yang Anda berikan saat membuat rahasia:
print(testSecret) --> Secret(test_secret)Anda tidak dapat memanipulasi string secara langsung. Sebagai gantinya, tipe data Secret memungkinkan Anda menambahkan awalan dan akhiran 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=usernameSetelah Anda memiliki URL dengan rahasia yang disisipkan, Anda dapat melakukan permintaan HTTP standar menggunakan metode seperti HttpService:RequestAsync(). Tentu saja, Anda juga dapat mengabaikan metode ini dan menyisipkan rahasia langsung ke dalam header.