Roblox oferece um armazenamento de segredos para cada jogo. Segredos são informações sensíveis, como chaves de API, senhas e tokens de acesso que você usa para 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 autenticar com ele.
Você poderia copiar e colar a chave de API em um script ou adicioná-la a um armazenamento de dados, mas essas abordagens apresentam riscos de segurança desnecessários. A melhor solução é usar o armazenamento de segredos e acessar a chave usando um pequeno conjunto de métodos seguros.
Adicionar segredos
Para visualizar, criar ou editar segredos, você deve ser o proprietário do jogo ou do grupo. Você pode ter até 500 segredos por jogo.
Navegue até o Painel do Criador.
Selecione seu jogo e, em seguida, selecione Segredos ⟩ Criar Segredo.
Insira um nome, o segredo e o domínio aplicável.
- O nome funciona como um identificador único para o segredo, portanto, recomendamos algo descritivo.
- Os segredos podem ter até 1.024 caracteres de comprimento. Chaves de API e tokens de acesso devem vir do provedor de serviço, mas se o segredo é uma senha, provavelmente você a criou você mesmo.
- Você pode usar uma sintaxe limitada de curingas 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 meu.example.com.
Segredos locais
Por razões de segurança, o armazenamento de segredos para cada jogo está disponível apenas em servidores ao vivo ou em ambientes de teste colaborativo. Se você tentar acessar um segredo durante o teste local, receberá um erro Não é possível encontrar o segredo com a chave fornecida. Você receberá um erro idêntico se tentar acessar segredos a partir de um script do cliente.
Para especificar segredos para testes locais, vá para o Studio e depois vá para Arquivo ⟩ Configurações da Experiência ⟩ Segurança. Você pode criar novos segredos e editar ou excluir segredos existentes na seção Segredos.


Usar segredos
Antes de usar segredos em seu jogo, você deve habilitar Permitir Solicitações HTTP na seção Segurança da janela Arquivo ⟩ Configurações da Experiência do Studio. Em seguida, chame HttpService:GetSecret() dentro de um script do servidor:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
Parte do apelo de usar armazenamentos de segredos é que você não pode acidentalmente imprimir um segredo. Em vez do segredo em si, o código a seguir 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 uma URL ou inserir conteúdo como Bearer:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")local prefix = "https://meu.example.com/endpoint?apiKey="local suffix = "&user=nomeDeUsuario"local url = testSecret:AddPrefix(prefix)url = url:AddSuffix(suffix)print(url) --> https://meu.example.com/endpoint?apiKey=Secret(test_secret)&user=nomeDeUsuario
Depois de ter uma 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.