Roblox offre un negozio di segreti per ogni esperienza.I segreti sono informazioni sensibili come le chiavi API, le password e i token di accesso che usi per autenticarti con servizi esterni.Ad esempio, se vuoi connetterti a un servizio di analisi o musica di terze parti, probabilmente devi utilizzare una chiave API per autenticarti con esso.
Puoi copiare e incollare la chiave API in uno script o aggiungerla a un Negoziodi dati, ma questi approcci comportano rischi di sicurezza non necessari.La soluzione migliore è utilizzare il negozio di segreti e accedere alla chiave utilizzando un piccolo set di metodi sicuri.
Aggiungi segreti
Per vista, creare o modificare segreti, devi essere il proprietario dell'esperienza o il proprietario del gruppo. Puoi avere fino a 500 segreti per esperienza.
Naviga alla Dashboard del Creatore.
Seleziona la tua esperienza, quindi scegli Segreti > Crea segreto .
Fornisci un nome, il segreto e il dominio applicabile.
- Il nome funge da identificatore univoco per il segreto, quindi consigliamo qualcosa di descrittivo.
- I segreti possono avere fino a 1.024 caratteri di lunghezza.Le chiavi API e i token di accesso dovrebbero provenire dal fornitore di servizi, ma se il segreto è una Parola d'ordine, probabilmente lo hai creato tu stesso.
- Puoi usare una sintassi wildcard limitata per il dominio, come * per qualsiasi dominio (non raccomandato) o *.example.com per qualsiasi sottodominio a example.com.Domini specifici sono ancora meglio, come my.example.com .
Segreti locali
Per motivi di sicurezza, il negozio di segreti per ogni esperienza è disponibile solo per i server di gioco dal vivo o Team Test ambienti.Se tenti di accedere a un segreto da un Serverdi prova locale, come dopo aver premuto il pulsante Gioca in Studio, ricevi un errore Can't find secret with given key.
Per specificare i segreti per i test locali, aggiungi oggetti JSON validi con segreti criptati in base64 in Impostazioni di gioco.Il JSON può contenere spazi, ma deve essere su una singola linea.

Ad esempio, quanto segue è la stringa base64-encoded limitata ai sottodomini a >:
{"secretName": ["YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "*.example.com"]}
Per aggiungere più segreti, separa i valori con virgole:
{"secretName1": ["dGVzdDE=", "*.example.com"],"secretName2": ["dGVzdDI=", "*.example.com"],"secretName3": ["dGVzdDM=", "*.example.com"]}
Usa segreti
Prima di utilizzare i segreti all'interno della tua esperienza, devi abilitare Consenti richieste HTTP nella scheda Impostazioni di gioco Sicurezza .Quindi chiama HttpService:GetSecret() all'interno di uno script:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
Parte dell'appello dell'utilizzo di negozi segreti è che non puoi accidentalmente stampare un segreto.Invece del segreto stesso, il seguente codice produce il nome che hai fornito quando hai creato il segreto:
print(testSecret) --> Secret(test_secret)
Non puoi manipolare la stringa direttamente.Invece, il tipo di dati Secret consente di aggiungere un prefisso e un suffisso al segreto per aiutare a formare un URL o inserire contenuti come 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
Dopo aver inserito un URL con il segreto, puoi fare richieste HTTP standard utilizzando metodi come HttpService:RequestAsync() .Naturalmente, puoi ignorare questi metodi e inserire il segreto direttamente in unHeader, anche.