Làm việc với bí mật

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Roblox cung cấp cửa hàng bí mật cho mỗi trải nghiệm.Bí mật là thông tin nhạy cảm như chìa khóa API, mật khẩu và token truy cập mà bạn sử dụng để xác thực với các dịch vụ bên ngoài.Ví dụ, nếu bạn muốn kết nối với một dịch vụ phân tích hoặc âm nhạc bên thứ ba, bạn có thể cần phải sử dụng một chìa khóa API để xác thực với nó.

Bạn có thể sao chép và dán chìa khóa API vào một kịch bản hoặc thêm nó vào một kho lưu trữ dữ liệu, nhưng những phương pháp đó mang lại những rủi ro bảo mật không cần thiết.Giải pháp tốt hơn là sử dụng cửa hàng bí mật và truy cập chìa khóa bằng một bộ nhỏ các phương pháp bảo mật.

Thêm bí mật

Để xem, tạo hoặc chỉnh sửa bí mật, bạn phải là chủ sở hữu kinh nghiệm hoặc là thành viên nhóm. Bạn có thể có tối đa 500 bí mật cho mỗi kinh nghiệm.

  1. Điều hướng đến Bảng điều khiển Nhà sáng tạo.

  2. Chọn trải nghiệm của bạn, và sau đó chọn Bí mật > Tạo bí mật .

  3. Cung cấp một tên, bí mật và miền áp dụng.

    • Tên hoạt động như một nhận dạng duy nhất cho bí mật, vì vậy chúng tôi khuyên bạn nên sử dụng cái gì đó mô tả.
    • Bí mật có thể dài tới 1,024 ký tự.Chìa khóa API và token truy cập nên đến từ nhà cung cấp dịch vụ, nhưng nếu bí mật là một mật khẩu, bạn có thể tạo nó tự mình.
    • Bạn có thể sử dụng một cú pháp hoang dã giới hạn cho miền, chẳng hạn như * cho bất kỳ miền nào (không được khuyến nghị) hoặc *.example.com cho bất kỳ subdomain nào tại example.com .Các miền cụ thể còn tốt hơn, ví dụ như my.example.com .

Bí mật địa phương

Vì lý do an ninh, cửa hàng bí mật cho mỗi trải nghiệm chỉ có sẵn cho các máy chủ trò chơi trực tiếp hoặc Môi trường thử nghiệm đội .Nếu bạn cố gắng truy cập một bí mật từ máy chủ thử nghiệm địa phương, chẳng hạn như sau khi nhấn nút Chơi trong Studio, bạn nhận được một lỗi Can't find secret with given key.

Để xác định bí mật cho kiểm tra địa phương, thêm các đối tượng JSON hợp lệ với các bí mật được mã hóa bằng base64 trong Cài đặt trò chơi.JSON có thể chứa khoảng trống, nhưng phải ở trên một dòng duy nhất.

Local secret in the Game Settings window.

Ví dụ, dưới đây là chuỗi được mã hóa base64 abcdefghijklmnopqrstuvwxyz bị giới hạn ở các subdomain tại example.com :


{"secretName": ["YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "*.example.com"]}

Để thêm nhiều bí mật, tách các giá trị bằng dấu phẩy:


{"secretName1": ["dGVzdDE=", "*.example.com"],"secretName2": ["dGVzdDI=", "*.example.com"],"secretName3": ["dGVzdDM=", "*.example.com"]}

Sử dụng bí mật

Trước khi sử dụng bí mật trong trải nghiệm của bạn, bạn phải bật Cho phép yêu cầu HTTP trong tab Cài đặt trò chơi Bảo mật .Sau đó gọi HttpService:GetSecret() trong một kịch bản:


local HttpService = game:GetService("HttpService")
local testSecret = HttpService:GetSecret("test_secret")

Một phần của lý do khiếu nại sử dụng cửa hàng bí mật là bạn không thể in lẫn vô tình một bí mật.Thay vì bí mật chính, mã sau đây xuất ra tên bạn cung cấp khi tạo bí mật:


print(testSecret) --> Secret(test_secret)

Bạn không thể thao tác chuỗi trực tiếp.Thay vào đó, loại dữ liệu Secret cho phép bạn thêm một chữ đầu và chữ cuối vào bí mật để giúp hình thành một URL hoặc chèn nội dung như 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

Sau khi bạn có URL với thông tin bí mật được chèn, bạn có thể thực hiện các yêu cầu HTTP tiêu chuẩn bằng cách sử dụng các phương pháp như HttpService:RequestAsync().Tất nhiên, bạn có thể bỏ qua các phương pháp này và chèn bí mật trực tiếp vào tiêu đề, cũng.