Pracuj z sekretami

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Roblox oferuje sklep z sekretami dla każdego doświadczenia.Sekrety to wrażliwe informacje, takie jak klucze API, hasła i tokeny dostępu, których używasz do uwierzytelniania z usługami zewnętrznymi.Na przykład, jeśli chcesz połączyć się z usługą analityczną lub muzyczną strony trzeciej, prawdopodobnie musisz użyć klucza API, aby się z nią uwierzyć.

Możesz skopiować i wkleić klucz API do skryptu lub dodać go do magazynu danych, ale te podejścia ponoszą niepotrzebne ryzyko bezpieczeństwa.Lepszym rozwiązaniem jest skorzystanie ze sklepu z sekretami i uzyskanie dostępu do klucza za pomocą małego zestawu bezpiecznych metod.

Dodaj sekrety

Aby zobaczyć, utworzyć lub edytować sekrety, musisz być właścicielem doświadczenia lub właścicielem grupy. Możesz mieć do 500 sekretów na doświadczenie.

  1. Wybierz swoje doświadczenie, a następnie wybierz Sekrety > Twórz sekret .

  2. Podaj nazwę, sekret i odpowiednią domenę.

    • Nazwa działa jako unikalny identyfikator dla sekretu, więc polecamy coś opisowego.
    • Sekrety mogą mieć do 1,024 znaków długości.Klucze API i tokeny dostępu powinny pochodzić od dostawcy usług, ale jeśli sekret jest hasłem, prawdopodobnie stworzyłeś go sam.
    • Możesz użyć ograniczonej słownictwa dzikich znaków dla domeny, takich jak * dla dowolnej domeny (nie zalecane) lub *.example.com dla dowolnej poddomeny na example.com.Specyficzne domeny są jeszcze lepsze, takie jak my.example.com .

Tajemnice lokalne

Ze względów bezpieczeństwa sekrety przechowywane dla każdego doświadczenia są dostępne tylko dla serwerów gier na żywo lub środowisk Test zespołu.Jeśli próbujesz uzyskać tajemnicę z lokalnego serwera testowego, takiego jak po naciśnięciu przycisku Graj w Studio, otrzymujesz błąd Can't find secret with given key.

Aby określić sekrety do lokalnego testowania, dodaj ważne obiekty JSON z sekretami zakodowanymi w Base64 w Ustawieniach gry.JSON może zawierać spacje, ale musi być na jednej linii.

Local secret in the Game Settings window.

Na przykład, poniższy jest łańcuch zaszyfrowany za pomocą base64 abcdefghijklmnopqrstuvwxyz ograniczony do poddomen na example.com :


{"secretName": ["YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=", "*.example.com"]}

Aby dodać wiele sekretów, oddziel wartości za pomocą przecinków:


{"secretName1": ["dGVzdDE=", "*.example.com"],"secretName2": ["dGVzdDI=", "*.example.com"],"secretName3": ["dGVzdDM=", "*.example.com"]}

Użyj sekretów

Zanim użyjesz sekretów w swoim doświadczeniu, musisz włączyć Pozwolenie na żądania HTTP w zakładce Ustawienia gry Bezpieczeństwo .Następnie wezwij HttpService:GetSecret() w ramach skryptu:


local HttpService = game:GetService("HttpService")
local testSecret = HttpService:GetSecret("test_secret")

Częścią apelu o korzystanie ze sklepów tajnych jest to, że nie możesz przypadkowo wydrukować sekretu.Zamiast samego sekretu, następujący kod wyświetla nazwę, którą podałeś podczas tworzenia sekretu:


print(testSecret) --> Secret(test_secret)

Nie możesz bezpośrednio manipulować ciągiem.Zamiast tego typ danych Secret pozwala dodać prefiks i sufiks do sekretu, aby pomóc w utworzeniu URL lub wstawić treść taką jak 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

Po dodaniu URL z sekretem możesz wysyłać standardowe żądania HTTP za pomocą metod takich jak HttpService:RequestAsync().Oczywiście możesz ignorować te metody i wstawić sekret bezpośrednio do nagłówka, również.