Roblox cung cấp một kho lưu trữ bí mật cho mỗi trò chơi. Bí mật là thông tin nhạy cảm như khóa API, mật khẩu và mã thông báo 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 sử dụng một khóa API để xác thực với nó.
Bạn có thể sao chép và dán khóa API vào một tập lệnh hoặc thêm nó vào một kho dữ liệu, nhưng những cách tiếp cận đó mang lại rủi ro an ninh không cần thiết. Giải pháp tốt hơn là sử dụng kho lưu trữ bí mật và truy cập khóa bằng một bộ phương thức an toàn nhỏ.
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 trò chơi hoặc chủ sở hữu nhóm. Bạn có thể có tối đa 500 bí mật cho mỗi trò chơi.
Chuyển đến Bảng điều khiển Người sáng tạo.
Chọn trò chơi của bạn, sau đó chọn Bí mật ⟩ Tạo Bí mật.
Nhập một tên, bí mật, và miền áp dụng.
- Tên hoạt động như một định danh duy nhất cho bí mật, vì vậy chúng tôi khuyên bạn nên sử dụng một cái gì đó mô tả.
- Bí mật có thể dài tới 1.024 ký tự. Các khóa API và mã thông báo truy cập nên được cung cấp từ nhà cung cấp dịch vụ, nhưng nếu bí mật là mật khẩu, bạn có thể đã tự tạo nó.
- Bạn có thể sử dụng cú pháp ký tự đại diện hạn chế 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ỳ miền phụ nào tại example.com. Các miền cụ thể thì tốt hơn nữa, chẳng hạn như my.example.com.
Bí mật cục bộ
Vì lý do an ninh, kho lưu trữ bí mật cho mỗi trò chơi chỉ khả dụng cho các máy chủ trực tiếp hoặc các môi trường kiểm tra hợp tác. Nếu bạn cố gắng truy cập một bí mật trong kiểm tra chơi cục bộ, bạn sẽ nhận được thông báo lỗi Can't find secret with given key. Bạn sẽ nhận được thông báo lỗi giống hệt nếu bạn cố gắng truy cập các bí mật từ một tập lệnh khách.
Để chỉ định các bí mật cho việc kiểm tra cục bộ, hãy đến Studio và sau đó đi đến Tệp ⟩ Cài đặt Trải nghiệm ⟩ Bảo mật. Bạn có thể tạo bí mật mới và chỉnh sửa hoặc xóa các bí mật hiện tại trong phần Bí mật.


Sử dụng bí mật
Trước khi sử dụng bí mật trong trò chơi của bạn, bạn phải kích hoạt Cho phép Yêu cầu HTTP trong phần Bảo mật của cửa sổ Tệp ⟩ Cài đặt Trải nghiệm trong Studio. Sau đó, gọi HttpService:GetSecret() trong một tập lệnh server:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
Một phần của sức hấp dẫn khi sử dụng kho lưu trữ bí mật là bạn không thể vô tình in ra một bí mật. Thay vì bí mật thực tế, đoạn mã sau sẽ xuất ra tên mà 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 đó, kiểu dữ liệu Secret cho phép bạn thêm tiền tố và hậu tố 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ó một URL với bí mật đã được chèn, bạn có thể thực hiện các yêu cầu HTTP chuẩn bằng các phương thức như HttpService:RequestAsync(). Tất nhiên, bạn cũng có thể bỏ qua các phương thức này và chèn bí mật trực tiếp vào trong một tiêu đề.