Roblox oferece uma loja de segredos para cada experiência.Segredos são informações sensíveis, como chaves de API, senhas e tokens de acesso que você usa para se autenticar com serviços externos.Por exemplo, se você quiser se conectar a um serviço de análise ou música de terceiros, provavelmente precisará usar uma chave de API para se autenticar com ele.
Você pode copiar e colar a chave da API em um script ou adicioná-la a um lojade dados, mas essas abordagens carregam riscos de segurança desnecessários.A solução melhor é usar o armazenamento de segredos e acessar a chave usando um pequeno conjunto de métodos seguros.
Adicionar segredos
Para ver, Criarou editar segredos, você deve ser o Proprietárioda experiência ou do grupo. Você pode ter até 500 segredos por experiência.
Navegue até o Painel do Criador.
Selecione sua experiência e então escolha Segredos > Criar Segredo .
Forneça um nome, o segredo e o domínio aplicável.
- O nome atua como um identificador exclusivo para o segredo, então recomendamos algo descritivo.
- Segredos podem ter até 1.024 caracteres de comprimento.Chaves da API e tokens de acesso devem vir do fornecedor de serviços, mas se o segredo for uma senha, você provavelmente o criou você mesmo.
- Você pode usar uma síntese de wildcard limitada para o domínio, como * para qualquer domínio (não recomendado) ou *.example.com para qualquer subdomínio em example.com.Domínios específicos são ainda melhores, como my.example.com .
Segredos locais
Por razões de segurança, o armazenamento de segredos para cada experiência está disponível apenas para servidores de jogo ao vivo ou Teste em Equipe ambientes.Se você tentar acessar um segredo de um servidor de teste local, como depois de pressionar o botão Jogar no Studio, você recebe um erro Can't find secret with given key.
Para especificar segredos para testes locais, adicione objetos JSON válidos com segredos codificados em base64 em Configurações do Jogo.O JSON pode conter espaços, mas deve estar em uma única linha.

Por exemplo, o seguinte é a string codificada em base64 Restrito para subdomínios em 5>:
{"secretName": ["YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "*.example.com"]}
Para adicionar vários segredos, separe os valores com vírgulas:
{"secretName1": ["dGVzdDE=", "*.example.com"],"secretName2": ["dGVzdDI=", "*.example.com"],"secretName3": ["dGVzdDM=", "*.example.com"]}
Usar segredos
Antes de usar segredos dentro de sua experiência, você deve habilitar Permitir solicitações HTTP na aba Configurações do Jogo Segurança .Então chame HttpService:GetSecret() dentro de um script:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
Parte do apelo de usar lojas secretas é que você não pode acidentalmente imprimir um segredo.Em vez do próprio segredo, o seguinte código exibe o nome que você forneceu ao criar o segredo:
print(testSecret) --> Secret(test_secret)
Você não pode manipular a string diretamente.Em vez disso, o tipo de dado Secret permite que você adicione um prefixo e um sufixo ao segredo para ajudar a formar um URL ou inserir conteúdo como 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
Depois de ter um URL com o segredo inserido, você pode fazer solicitações HTTP padrão usando métodos como HttpService:RequestAsync().Claro, você pode ignorar esses métodos e inserir o segredo diretamente em um cabeçalho, também.