Lavora con segreti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

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.

  1. Naviga alla Dashboard del Creatore.

  2. Seleziona la tua esperienza, quindi scegli Segreti > Crea segreto .

  3. 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.

Local secret in the Game Settings window.

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.