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 kịch bản 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 bảo mật 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 tập hợp nhỏ các phương pháp an toàn.
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.
Điều hướng đế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 chọn một cái gì đó mô tả.
- Bí mật có thể dài tối đa 1.024 ký tự. Các khóa API và mã thông báo 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ự tạo ra 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 con nào tại example.com. Các miền cụ thể thì còn tốt hơn, chẳng hạn như my.example.com.
Bí mật cục bộ
Vì lý do bảo mật, kho lưu trữ bí mật cho mỗi trò chơi chỉ có sẵn cho các máy chủ trực tiếp hoặ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 lỗi Không tìm thấy bí mật với khóa đã cho. Bạn sẽ nhận được một lỗi giống hệt nếu bạn cố gắng truy cập bí mật từ một kịch bản khách hàng.
Để chỉ định bí mật cho việc kiểm tra cục bộ, hãy vào Studio và sau đó vào 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 có trong phần Bí mật Cục bộ.
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 bậ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 kịch bản máy chủ:
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 đó, đoạn mã sau sẽ xuất ra tên mà bạn đã cung cấp khi tạo bí mật:
print(testSecret) --> Bí mật(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 một 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=Bí mật(test_secret)&user=usernameSau khi bạn có một URL với bí mật được chèn vào, 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 những phương pháp này và chèn bí mật trực tiếp vào một tiêu đề.