Możesz budować lub autoryzować aplikacje, które korzystają z Open Cloud API, aby uzyskać dostęp do zasobów Roblox. Open Cloud zapewnia uwierzytelnianie dla tych aplikacji przy użyciu OAuth 2.0.
- Jako twórca doświadczeń lub właściciel grupy
Możesz bezpiecznie korzystać z narzędzi stworzonych przez innych, aby poprawić swoją wydajność twórczą. Warstwa autoryzacji OAuth 2.0 pozwala Ci przyznać uprawnienia aplikacjom firm trzecich do dostępu do Twoich doświadczeń lub doświadczeń Twojej grupy bez przekazywania im swoich danych uwierzytelniających i informacji osobistych. Sam wybierasz uprawnienia dostępu do swoich zasobów Roblox, a Roblox zajmuje się procesem autoryzacji w Twoim imieniu przy użyciu frameworka OAuth 2.0.
- Jako deweloper aplikacji
Możesz tworzyć aplikacje dla siebie i innych w społeczności Roblox. OAuth 2.0 definiuje role zaangażowane w proces autoryzacji, protokół interakcji tych ról oraz przepływy autoryzacji, które musisz przestrzegać, aby opracować bezpieczne i kompatybilne aplikacje.
Role
Protokół Open Cloud OAuth 2.0 ma następujące role. Zrozumienie tych konkretnych ról jest przydatne przed poznaniem, jak interagują one ze sobą w przepływach autoryzacji.
Właściciel zasobu: Podmiot zdolny do przyznawania dostępu do chronionego zasobu. Na przykład, twórca, który zezwala zewnętrznej aplikacji na dostęp do swoich zasobów Roblox za pośrednictwem Open Cloud Web API.
Serwer zasobów: Usługa Roblox, która hostuje chronione zasoby i odpowiada na żądania od właściciela zasobu.
Klient: Aplikacja, która uzyskuje dostęp do chronionych zasobów w imieniu właściciela zasobu (za zgodą właściciela).
Serwer autoryzacji: Serwer Roblox, który uwierzytelnia tożsamość właściciela zasobu i wydaje tokeny dostępu klientowi.
Typy uprawnień
Przepływy autoryzacji, czyli typy uprawnień, to kroki i działania, które role wykonują podczas procesu autoryzacji. Roblox obsługuje przepływ kodu autoryzacji OAuth 2.0 oraz jego rozszerzenie Proof Key for Code Exchange (PKCE), z różnymi wymaganiami implementacyjnymi dla aplikacji zdolnych lub niezdolnych do przechowywania tajemnic klientów.
Przepływ kodu autoryzacji
W przepływie kodu autoryzacji klient wymienia kod autoryzacyjny na token dostępu i token odświeżenia, aby zakończyć proces autoryzacji w następujących krokach:
Klient wysyła żądanie autoryzacji do serwera autoryzacji Roblox.
Serwer autoryzacji weryfikuje tożsamość właściciela zasobu.
Serwer autoryzacji otrzymuje zgody na dostęp do konkretnych zasobów Roblox od właściciela zasobu.
Serwer autoryzacji przekierowuje właściciela zasobu z powrotem do klienta z kodem autoryzacyjnym.
Klient żąda tokena dostępu przy użyciu kodu autoryzacyjnego w punkcie końcowym tokenów.
Klient otrzymuje odpowiedź z punku końcowego tokenów zawierającą token dostępu, token ID i token odświeżenia.
Klient uzyskuje dostęp do dozwolonych zasobów po otrzymaniu tokena dostępu.
Poniższy rysunek opisuje interakcje między rolami w przepływie kodu autoryzacji, które przeczytasz w następujących sekcjach:

Przepływ kodu autoryzacji z PKCE
Rozszerzenie PKCE przepływu kodu autoryzacji pomaga zmniejszyć ryzyko ujawnienia kodu autoryzacyjnego i zapobiega atakom cross-site request forgery (CSRF), które wprowadzają użytkowników w błąd, skłaniając ich do składania niezamierzonych żądań sieciowych. Ten przepływ kończy proces autoryzacji w następujących krokach:
Klient generuje unikalny i kryptograficznie losowy klucz nazywany weryfikatorem kodu dla każdego żądania autoryzacji.
Klient uruchamia algorytm skrótu SHA-256 na weryfikatorze kodu, aby wygenerować wyzwanie kodu.
Jeśli klient:
Jest publicznym klientem, zamiast używać tajemnicy klienta, przekazuje identyfikator klienta i wyzwanie kodu w żądaniu autoryzacyjnym.
Jest poufny klient, dodaje wyzwanie kodu wraz z identyfikatorem klienta i tajemnicą w żądaniu.
Klient wysyła żądanie autoryzacji do serwera autoryzacji Roblox.
Serwer autoryzacji weryfikuje tożsamość właściciela zasobu.
Serwer autoryzacji otrzymuje zgody na dostęp do konkretnych zasobów Roblox od właściciela zasobu.
Serwer autoryzacji przekierowuje właściciela zasobu z powrotem do klienta z kodem autoryzacyjnym.
Klient dołącza kod autoryzacyjny i oryginalnego weryfikatora kodu do żądania tokena do punktu końcowego tokenów.
Serwer autoryzacji weryfikuje kod autoryzacyjny oraz przypisany do niego weryfikator kodu.
Klient otrzymuje odpowiedź z punktu końcowego tokenów zawierającą token dostępu, token ID i token odświeżenia.
Klient uzyskuje dostęp do dozwolonych zasobów po otrzymaniu tokena dostępu.
Wsparcie OpenID Connect
Roblox wykorzystuje OpenID Connect (OIDC) jako warstwę identyfikacyjną na protokole OAuth 2.0 w celu uwierzytelniania, aby chronić wrażliwe informacje o koncie. OIDC pozwala aplikacjom weryfikować tożsamość użytkowników i uzyskiwać ich podstawowe informacje o publicznym profilu, takie jak identyfikator użytkownika, nazwy użytkowników, wyświetlane nazwy oraz linki do profili.
Rejestracja i implementacja
Aby wdrożyć aplikację internetową lub mobilną, która używa przepływu kodu autoryzacji, musisz:
Zarejestrować swoją aplikację z Roblox. To pozwala Ci uzyskać identyfikator klienta i sekret, aby zarejestrować swoją aplikację z Roblox i wykonywać wywołania do swoich punktów końcowych.
Zaimplementować przepływ kodu autoryzacji. Aby zobaczyć pełną referencję punktów końcowych OAuth 2.0, które musisz wykonać, zapoznaj się z referencją Uwierzytelnianie.
Przejść przez proces przeglądu aby uzyskać większy limit użytkowników.