Roblox ofrece un almacén de secretos para cada juego. Los secretos son información sensible como claves API, contraseñas y tokens de acceso que utilizas para autenticarte con servicios externos. Por ejemplo, si deseas conectarte a un servicio de análisis o música de terceros, es probable que necesites usar una clave API para autenticarte con él.
Podrías copiar y pegar la clave API en un script o añadirla a un almacén de datos, pero esos métodos conllevan riesgos de seguridad innecesarios. La mejor solución es utilizar el almacén de secretos y acceder a la clave utilizando un pequeño conjunto de métodos seguros.
Añadir secretos
Para ver, crear o editar secretos, debes ser el propietario del juego o del grupo. Puedes tener hasta 500 secretos por juego.
Navega al Tablero de Creadores.
Selecciona tu juego y luego selecciona Secretos ⟩ Crear Secreto.
Introduce un nombre, el secreto y el dominio aplicable.
- El nombre actúa como un identificador único para el secreto, por lo que recomendamos algo descriptivo.
- Los secretos pueden tener hasta 1,024 caracteres de longitud. Las claves API y los tokens de acceso deben provenir del proveedor del servicio, pero si el secreto es una contraseña, probablemente la creaste tú mismo.
- Puedes usar una sintaxis de comodín limitada para el dominio, como * para cualquier dominio (no recomendado) o *.example.com para cualquier subdominio en example.com. Los dominios específicos son incluso mejores, como my.example.com.
Secretos locales
Por razones de seguridad, el almacén de secretos para cada juego solo está disponible para servidores en vivo o entornos de pruebas colaborativas. Si intentas acceder a un secreto durante pruebas locales, recibirás un error de No se puede encontrar el secreto con la clave dada. Recibirás un error idéntico si intentas acceder a secretos desde un script de cliente.
Para especificar secretos para pruebas locales, ve a Studio y luego a Archivo ⟩ Configuraciones de Experiencia ⟩ Seguridad. Puedes crear nuevos secretos y editar o eliminar secretos existentes en la sección Secretos.


Usar secretos
Antes de usar secretos dentro de tu juego, debes habilitar Permitir Solicitudes HTTP en la sección de Seguridad de la ventana de Archivo ⟩ Configuraciones de Experiencia de Studio. Luego llama a HttpService:GetSecret() dentro de un script del servidor:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
Parte del atractivo de usar almacenes de secretos es que no puedes imprimir accidentalmente un secreto. En lugar del secreto en sí, el siguiente código imprime el nombre que proporcionaste al crear el secreto:
print(testSecret) --> Secret(test_secret)
No puedes manipular la cadena directamente. En su lugar, el tipo de dato Secret te permite añadir un prefijo y un sufijo al secreto para ayudar a formar una URL o insertar contenido 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
Después de tener una URL con el secreto insertado, puedes hacer solicitudes HTTP estándar utilizando métodos como HttpService:RequestAsync(). Por supuesto, puedes ignorar estos métodos e insertar el secreto directamente en un encabezado también.