Roblox เสนอร้านความลับสำหรับแต่ละประสบการณ์ความลับเป็นข้อมูลที่อ่อนไหวเช่นรหัส API รหัสผ่านและโทเค็นการเข้าถึงที่คุณใช้เพื่อยืนยันตัวตนกับบริการภายนอกตัวอย่างเช่น หากคุณต้องการเชื่อมต่อกับบริการวิเคราะห์หรือเพลงของบุคคลที่สาม คุณอาจต้องใช้คีย์ API เพื่อยืนยันตรวจสอบกับมัน
ร้านค้าAPI ลงในสคริปต์หรือเพิ่มลงในคลังข้อมูล แต่วิธีการเหล่านี้มีความเสี่ยงด้านความปลอดภัยที่ไม่จำเป็นทางออกที่ดีกว่าคือการใช้ร้านความลับและเข้าถึงกุญแจโดยใช้ชุดเล็กๆของวิธีการที่ปลอดภัย
เพิ่มความลับ
เพื่อดู สร้าง หรือแก้ไขความลับคุณต้องเป็นเจ้าของประสบการณ์หรือเจ้าของกลุ่ม คุณสามารถมีความลับสูงสุด 500 รายการต่อประสบการณ์
นําทางไปยัง แดชบอร์ดผู้สร้าง
เลือกประสบการณ์ของคุณแล้วเลือก ความลับ > สร้างความลับ .
ให้ชื่อ, ความลับ, และโดเมนที่ใช้ได้
- ชื่อทำหน้าที่เป็นตัวระบุที่ไม่ซ้ำกันสำหรับความลับดังนั้นเราจึงแนะนำบางอย่างที่อธิบายได้
- ความลับสามารถยาวถึง 1,024 ตัวอักษรได้คีย์ API และโทเค็นการเข้าถึงควรมาจากผู้ให้บริการ แต่ถ้าความลับเป็นรหัสผ่านคุณอาจสร้างขึ้นเอง
- คุณสามารถใช้สัญลักษณ์ไวด์การ์ดจํากัดสําหรับโดเมนได้ เช่น * สําหรับโดเมนใดก็ได้ (ไม่แนะนํา) หรือ *.example.com สําหรับส่วนย่อยใดก็ได้ที่ example.comโดเมนเฉพาะยังดีกว่า เช่น my.example.com
ความลับท้องถิ่น
เนื่องจากเหตุผลด้านความปลอดภัย คลังลับสำหรับแต่ละประสบการณ์จะสามารถใช้งานได้เฉพาะกับเซิร์ฟเวอร์เกมสดหรือ สภาพแวดล้อมการทดสอบทีม เท่านั้นหากคุณพยายามเข้าถึงความลับจากเซิร์ฟเวอร์ทดสอบท้องถิ่น เช่น หลังจากกดปุ่ม เล่น ใน Studio คุณจะได้รับข้อผิดพลาด Can't find secret with given key
เพื่อระบุความลับสำหรับการทดสอบท้องถิ่น เพิ่มวัตถุ JSON ที่ถูกต้องพร้อมความลับที่เข้ารหัสด้วย base64 ใน ตั้งค่าเกมJSON สามารถมีช่องว่าง แต่ต้องอยู่บนบรรทัดเดียว

ตัวอย่างเช่น สตริงที่เข้ารหัสด้วย base64 ต่อไปนี้คือสตริงที่ถูกจํากัดในส่วนย่อยที่ :
{"secretName": ["YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "*.example.com"]}
เพื่อเพิ่มความลับหลายอย่างให้แยกค่าด้วยจุลภาค:
{"secretName1": ["dGVzdDE=", "*.example.com"],"secretName2": ["dGVzdDI=", "*.example.com"],"secretName3": ["dGVzdDM=", "*.example.com"]}
ใช้ความลับ
ก่อนที่จะใช้ความลับภายในประสบการณ์ของคุณคุณต้องเปิดใช้งาน อนุญาตคำขอ HTTP ในแท็บ การตั้งค่าเกม ความปลอดภัย จากนั้นโทร HttpService:GetSecret() ภายในสคริปต์:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
ส่วนหนึ่งของความน่าสนใจของการใช้ร้านลับคือคุณไม่สามารถพิมพ์ความลับโดยไม่ได้ตั้งใจได้แทนที่จะเป็นความลับเอง โค้ดต่อไปนี้จะแสดงชื่อที่คุณให้เมื่อสร้างความลับ:
print(testSecret) --> Secret(test_secret)
คุณไม่สามารถควบคุมสตริงโดยตรงได้แทนที่, ประเภทข้อมูล Secret ช่วยให้คุณสามารถเพิ่มคํานําหน้าและคําสิ้นสุดไปยังความลับเพื่อช่วยในการสร้าง URL หรือใส่เนื้อหาเช่น 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
หลังจากที่คุณมี URL ที่มีความลับถูกสอดแทรกแล้ว คุณสามารถสร้างคำขอ HTTP แบบมาตรฐานโดยใช้วิธีการเช่น HttpService:RequestAsync()แน่นอนคุณสามารถเพิกเฉยวิธีเหล่านี้และใส่ความลับโดยตรงในหัวข้อได้เช่นกัน