秘密存储

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Roblox 为每个游戏提供一个 秘密 存储。秘密是您用于与外部服务进行身份验证的敏感信息,如 API 密钥、密码和访问令牌。例如,如果您想连接到第三方分析或音乐服务,您可能需要使用 API 密钥进行身份验证。

您可以将 API 密钥复制并粘贴到脚本中或将其添加到数据存储中,但这些方法存在不必要的安全风险。更好的解决方案是使用秘密存储,并通过一小组安全的方法访问密钥。

添加秘密

要查看、创建或编辑秘密,您必须是游戏所有者或组所有者。每个游戏最多可以有 500 个秘密。

  1. 导航到 创作者仪表板

  2. 选择您的游戏,然后选择 秘密创建秘密

  3. 输入一个名称、秘密和适用的域。

    • 名称作为秘密的唯一标识符,因此我们建议使用一些描述性的内容。
    • 秘密可以长达 1,024 个字符。API 密钥和访问令牌应来自服务提供商,但如果秘密是密码,您可能是自己创建的。
    • 您可以对域使用有限的通配符语法,例如 * 表示任何域(不推荐)或 *.example.com 表示 example.com 下的任何子域。特定域更好,例如 my.example.com

本地秘密

出于安全原因,每个游戏的秘密存储仅对实时服务器或 协作测试 环境可用。如果您尝试在 本地游戏测试 中访问秘密,会收到 Can't find secret with given key 错误。如果您尝试从客户端脚本访问秘密,也会收到相同的错误。

要为本地测试指定秘密,请进入 Studio,然后转到 文件体验设置安全性。您可以在 秘密 部分创建新秘密以及编辑或删除现有秘密。

使用秘密用户界面查看、创建和编辑秘密. 添加一个新秘密,名称为 secretName1,值为 123456,限制域为 *.example.com.

使用秘密

在游戏中使用秘密之前,您必须在 Studio 的 文件体验设置 窗口的 安全性 部分启用 允许 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 后,可以使用 HttpService:RequestAsync() 等方法进行标准 HTTP 请求。当然,您也可以忽略这些方法,直接将秘密插入标题中。

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。