Roblox offre un archivio di segreti per ogni gioco. I segreti sono informazioni sensibili come chiavi API, password e token di accesso che utilizzi per autenticarti con servizi esterni. Ad esempio, se desideri connetterti a un servizio di analisi o musica di terze parti, è probabile che tu debba utilizzare una chiave API per autenticarti.
Potresti copiare e incollare la chiave API in uno script o aggiungerla a un archivio dati, ma questi approcci comportano rischi di sicurezza non necessari. La soluzione migliore è utilizzare l'archivio di segreti e accedere alla chiave utilizzando un insieme ristretto di metodi sicuri.
Aggiungi segreti
Per visualizzare, creare o modificare segreti, devi essere il proprietario del gioco o il proprietario del gruppo. Puoi avere fino a 500 segreti per gioco.
Naviga al Creator Dashboard.
Seleziona il tuo gioco, quindi seleziona Segreti ⟩ Crea Segreto.
Inserisci un nome, il segreto e il dominio applicabile.
- Il nome funge da identificatore unico per il segreto, quindi ti consigliamo di utilizzare qualcosa di descrittivo.
- I segreti possono avere una lunghezza massima di 1.024 caratteri. Le chiavi API e i token di accesso dovrebbero provenire dal fornitore del servizio, ma se il segreto è una password, probabilmente l'hai creata tu stesso.
- Puoi utilizzare una sintassi di wildcard limitata per il dominio, come * per qualsiasi dominio (non raccomandato) o *.example.com per qualsiasi sottodominio di example.com. I domini specifici sono ancora migliori, come my.example.com.
Segreti locali
Per motivi di sicurezza, l'archivio di segreti per ogni gioco è disponibile solo per server live o ambienti di collaborative testing. Se provi ad accedere a un segreto durante il playtesting locale, ricevi un errore Can't find secret with given key. Ricevi un errore identico se provi ad accedere ai segreti da uno script client.
Per specificare segreti per il testing locale, vai su Studio e poi su File ⟩ Impostazioni dell'Esperienza ⟩ Sicurezza. Puoi creare nuovi segreti e modificare o eliminare segreti esistenti nella sezione Segreti Locali.
Usa segreti
Prima di utilizzare i segreti all'interno del tuo gioco, devi abilitare Consenti richieste HTTP nella sezione Sicurezza della finestra File ⟩ Impostazioni dell'Esperienza di Studio. Quindi chiama HttpService:GetSecret() all'interno di uno script server:
local HttpService = game:GetService("HttpService")
local testSecret = HttpService:GetSecret("test_secret")Parte dell'attrattiva dell'utilizzo degli archivi di segreti è che non puoi accidentalmente stampare un segreto. Invece del segreto stesso, il seguente codice restituisce il nome fornito durante la creazione del segreto:
print(testSecret) --> Secret(test_secret)Non puoi manipolare la stringa direttamente. Invece, il tipo di dato Secret ti consente di aggiungere un prefisso e un suffisso al segreto per aiutarti 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=usernameDopo aver ottenuto un URL con il segreto inserito, puoi effettuare richieste HTTP standard utilizzando metodi come HttpService:RequestAsync(). Naturalmente, puoi ignorare questi metodi e inserire il segreto direttamente in un'intestazione.