Roblox propose un magasin de secrets pour chaque jeu. Les secrets sont des informations sensibles comme des clés API, des mots de passe et des jetons d'accès que vous utilisez pour vous authentifier auprès de services externes. Par exemple, si vous souhaitez vous connecter à un service d'analyse ou de musique tiers, vous aurez probablement besoin d'utiliser une clé API pour vous authentifier.
Vous pourriez copier et coller la clé API dans un script ou l'ajouter à un magasin de données, mais ces approches comportent des risques de sécurité inutiles. La meilleure solution consiste à utiliser le magasin de secrets et à accéder à la clé en utilisant un petit ensemble de méthodes sécurisées.
Ajouter des secrets
Pour afficher, créer ou modifier des secrets, vous devez être le propriétaire du jeu ou le propriétaire du groupe. Vous pouvez avoir jusqu'à 500 secrets par jeu.
Accédez au Tableau de bord du créateur.
Sélectionnez votre jeu, puis sélectionnez Secrets ⟩ Créer un secret.
Entrez un nom, le secret et le domaine applicable.
- Le nom sert d'identifiant unique pour le secret, nous vous recommandons donc de choisir quelque chose de descriptif.
- Les secrets peuvent avoir jusqu'à 1 024 caractères de long. Les clés API et les jetons d'accès doivent provenir du fournisseur de services, mais si le secret est un mot de passe, vous l'avez probablement créé vous-même.
- Vous pouvez utiliser une syntaxe de caractères génériques limitée pour le domaine, comme * pour n'importe quel domaine (non recommandé) ou *.example.com pour n'importe quel sous-domaine de example.com. Des domaines spécifiques sont encore mieux, comme my.example.com.
Secrets locaux
Pour des raisons de sécurité, le magasin de secrets pour chaque jeu n'est disponible que pour les serveurs en direct ou les environnements de test collaboratif. Si vous essayez d'accéder à un secret lors d'un test local, vous recevrez une erreur Impossible de trouver le secret avec la clé donnée. Vous recevrez la même erreur si vous essayez d'accéder à des secrets à partir d'un script client.
Pour spécifier des secrets pour le test local, allez dans Studio, puis dans Fichier ⟩ Paramètres de l'expérience ⟩ Sécurité. Vous pouvez créer de nouveaux secrets et modifier ou supprimer des secrets existants dans la section Secrets.


Utiliser des secrets
Avant d'utiliser des secrets dans votre jeu, vous devez activer Autoriser les requêtes HTTP dans la section Sécurité de la fenêtre Fichier ⟩ Paramètres de l'expérience de Studio. Ensuite, appelez HttpService:GetSecret() dans un script serveur :
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
Une partie de l'attrait de l'utilisation des magasins de secrets est que vous ne pouvez pas accidentellement imprimer un secret. Au lieu du secret lui-même, le code suivant affiche le nom que vous avez fourni lors de la création du secret :
print(testSecret) --> Secret(test_secret)
Vous ne pouvez pas manipuler la chaîne directement. Au lieu de cela, le type de données Secret vous permet d'ajouter un préfixe et un suffixe au secret pour aider à former une URL ou insérer un contenu comme 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
Une fois que vous avez une URL avec le secret inséré, vous pouvez effectuer des requêtes HTTP standard en utilisant des méthodes telles que HttpService:RequestAsync(). Bien sûr, vous pouvez ignorer ces méthodes et insérer le secret directement dans un en-tête aussi.