Roblox oferuje sklep z tajemnicami dla każdej gry. Tajemnice to wrażliwe informacje, takie jak klucz API, hasła i tokeny dostępu, które używasz do uwierzytelniania się w usługach zewnętrznych. Na przykład, jeśli chcesz połączyć się z zewnętrzną usługą analityczną lub muzyczną, prawdopodobnie będziesz musiał użyć klucza API, aby się uwierzytelnić.
Możesz skopiować i wkleić klucz API do skryptu lub dodać go do bazy danych, ale te podejścia wiążą się z niepotrzebnym ryzykiem bezpieczeństwa. Lepszym rozwiązaniem jest użycie sklepu z tajemnicami i uzyskanie dostępu do klucza za pomocą zestawu bezpiecznych metod.
Dodaj tajemnice
Aby wyświetlić, utworzyć lub edytować tajemnice, musisz być właścicielem gry lub właścicielem grupy. Możesz mieć do 500 tajemnic na grę.
Przejdź do Panelu twórcy.
Wybierz swoją grę, a następnie wybierz Tajemnice ⟩ Utwórz tajemnicę.
Wprowadź nazwę, tajemnicę i odpowiednią domenę.
- Nazwa działa jako unikalny identyfikator dla tajemnicy, więc zalecamy coś opisowego.
- Tajemnice mogą mieć długość do 1,024 znaków. Klucze API i tokeny dostępu powinny pochodzić od dostawcy usługi, ale jeśli tajemnicą jest hasło, prawdopodobnie stworzyłeś je sam.
- Możesz używać ograniczonej składni wildcard dla domeny, takiej jak * dla dowolnej domeny (niezalecane) lub *.example.com dla dowolnej subdomeny na example.com. Jeszcze lepiej sprawdzą się szczegółowe domeny, takie jak my.example.com.
Lokalne tajemnice
Ze względów bezpieczeństwa sklep z tajemnicami dla każdej gry jest dostępny tylko dla działających serwerów lub środowisk testowania współpracy. Jeśli spróbujesz uzyskać dostęp do tajemnicy podczas lokalnego testowania, otrzymasz błąd Nie można znaleźć tajemnicy z podanym kluczem. Otrzymasz identyczny błąd, jeśli spróbujesz uzyskać dostęp do tajemnic z skryptu klienta.
Aby określić tajemnice do lokalnego testowania, przejdź do Studio, a następnie do Plik ⟩ Ustawienia doświadczenia ⟩ Bezpieczeństwo. Możesz tworzyć nowe tajemnice i edytować lub usuwać istniejące tajemnice w sekcji Tajemnice.


Użyj tajemnic
Przed użyciem tajemnic w swojej grze musisz włączyć Zezwalaj na żądania HTTP w sekcji Bezpieczeństwo w oknie Plik ⟩ Ustawienia doświadczenia w Studio. Następnie wywołaj HttpService:GetSecret() w skrypcie serwera:
local HttpService = game:GetService("HttpService")local testSecret = HttpService:GetSecret("test_secret")
Częścią atrakcyjności korzystania ze sklepów z tajemnicami jest to, że nie możesz przypadkowo wydrukować tajemnicy. Zamiast samej tajemnicy, poniższy kod wypisuje nazwę, którą podałeś podczas tworzenia tajemnicy:
print(testSecret) --> Secret(test_secret)
Nie możesz manipulować ciągiem bezpośrednio. Zamiast tego, typ danych Secret umożliwia dodanie prefiksu i sufiksu do tajemnicy, aby pomóc w uformowaniu URL lub wstawieniu treści, takiej 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 uzyskaniu URL z wstawioną tajemnicą możesz wykonywać standardowe żądania HTTP za pomocą metod takich jak HttpService:RequestAsync(). Oczywiście możesz zignorować te metody i bezpośrednio wstawić tajemnicę do nagłówka.