Przeglad OAuth 2.0

*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.

Możesz zbudować lub upoważnić aplikacje, które używają otwartych API Cloud, aby uzyskać dostęp do zasobów Roblox. Open Cloud zapewnia autoryzację dla tych aplikacji, używając OAuth 2.0.

jako twórca doświadczeń lub właściciel grupy

Możesz bezpiecznie używać narzędzi stworzonych przez innych do poprawy twojej produktywności. Warstwa autoryzacji OAuth 2.0 umożliwia ci udzielenie upoważnień aplikacjom stronom trzecim, aby uzyskać dostęp do swoich lub doświadczeń grupa, bez podawania im swoich haseł i osobistych informacji. Wybierasz upoważnienia dostępu do swoich specyficznych zasobów

jako deweloper aplikacji >

Możesz tworzyć aplikacje dla siebie i innych w społeczności Roblox. OAuth 2.0 określa role zaangażowane w proces autoryzacji, protokół, w jaki sposób role wchodzą w interakcję ze sobą i przepływy autoryzacji, które musisz podążać, aby rozwijać bezpieczne i kompatybilne aplikacje.

Rola

Protokół Open Cloud OAuth 2.0 ma następujące role. Warto zrozumieć, które role są związane z interakcją z innymi w płynnych przepływach autoryzacji.

  • Właściciel zasobu : Entità, która może udzielić dostępu do chronionego zasobu. Na przykład, twórca, który umożliwia dostęp do zasobów strony trzeciej za pośrednictwem Open Cloud Web APIs.

  • Serwer zasobów : Roblox usługa, która hostuje chronione zasoby i reaguje na wnioski od właściciela zasobu.

  • Klient : Aplikacja, która uzyskuje dostęp do chronionych zasobów w imieniu właściciela zasobu (z autoryzacją właściciela).

  • Serwer autoryzacji : Roblox serwer, który uwalnia autorytet właściciela zasobu i wydaje tokeni dostępu dla klienta.

Typy grantów

Fluły autoryzacji lub rodzaje upoważnień są krokami działań, które wykonują role podczas procesu autoryzacji. Roblox wspiera autoryzację 2.0 OAuth i jej Proof Key for Code Exchange (PKCE) ekstensję, z różnymi wymaganiami wdrożeniowymi dla aplikacji, które są zdolne lub niezdolne do przechowywania sekretów klienta.

Przepływ Autoryzacji

Przez kanał autoryzacji kodu, klient wymienia kod autoryzacji za token dostępu i token aktualizacji, aby ukończyć proces autoryzacji w następujących krokach:

  1. Kliент wysyła prośbę o autoryzację na serwer autoryzacji Roblox.

  2. Serwer uwierzytelniania weryfikuje tożsamość właściciela zasobu.

  3. Serwer autoryzacji otrzymuje uprawnienia do uzyskiwania dostępu do określonych zasobów Roblox od właściciela zasobu.

  4. Serwer autoryzacji przekierowuje właściciela zasobu do klienta za pośrednictwem kodu autoryzacji.

  5. Kliент wysyła token dostępu używając kodu autoryzacji w punktach końca tokenu.

  6. Klient otrzymuje odpowiedź z punktu końca tokena zawierającego token dostępu, token ID i token aktualizacji.

  7. Klient otrzymuje dostępne zasoby po uzyskaniu tokenu dostępu.

Poniższa figura opisuje interakcje między rolami w kodzie autoryzacji, które przeczytasz w następnych sekcjach:

Autoryzacja kodu z przepływem z PKCE

Dodatek PKCE do kodu autoryzacji z pomocą zmniejsza ryzyko wycieku kodu autoryzacji i zapobiega oszustwom wysyłania nieintencjonalnych wniosków witryny (CSRF), atak, który oszukuje użytkowników, aby złożyć nieintencjonalne wnioski witryny. Ten przepływ kończy proces autoryzacji z następującymi krokami:

  1. Klient generuje unikalny i kryptograficznie losowy klucz nazyany werifier kodu dla każdej wnioskę o prośba.

  2. Klient wykonuje algorytmu szyfrowania SHA-256 na weryfikatorze kodu, aby generować wyzwanie kodowe.

  3. Jeśli klient:

    • Jest to klient publiczny, zamiast używać sekretu klienta, przesyła ID klienta i wyzwanie kodowe w wniosku o autoryzację.

    • Jest to zaklęty klient, dodaje on wyzwanie kodowe wraz z ID klienta i sekretem w prośba.

  4. Kliент wysyła prośbę o autoryzację na serwer autoryzacji Roblox.

  5. Serwer uwierzytelniania weryfikuje tożsamość właściciela zasobu.

  6. Serwer autoryzacji otrzymuje uprawnienia do uzyskiwania dostępu do określonych zasobów Roblox od właściciela zasobu.

  7. Serwer autoryzacji przekierowuje właściciela zasobu do klienta za pośrednictwem kodu autoryzacji.

  8. Klient włącza autoryzowany kod i weryfikator kodu źródłowego w wniosku tokenu do Token Endpointu .

  9. Serwer uwierzytelniania weryfikuje kod uwierzytelniania i weryfikator kodu związanego.

  10. Klient otrzymuje odpowiedź z punktu końca tokena zawierającego token dostępu, token ID i token aktualizacji.

  11. Klient otrzymuje dostępne zasoby po uzyskaniu tokenu dostępu.

Wsparcie dla połączeń OpenID

Roblox używa OpenID Connect (OIDC) jako warstwy tożsamości na szczycie protokołu OAuth 2.0 dla uwierzytelnienia, aby chronić wrażliwe informacje o kontach. OIDC umożliwia aplikacjom weryfikację tożsamości użytkowników i uzyskanie ich podstawowych informacji profilu, takich jak imię użytkownika, nazwę wyświetlenia i adres profilu.

Rejestracja i implementacja

Aby zaimplementować aplikację mobilną lub witrynę internetową, która używa kodu przepływu autoryzacji, musisz:

  1. Zarejestruj swoją aplikację z Roblox. Dzięki temu możesz uzyskać ID klienta i sekret, aby rejestrować swoją aplikację z Roblox i wykonywać wezwania do swoich końcówek.

  2. Zaimplementuj przepływ kodu autoryzacji. Aby uzyskać kompletną referencję punktów końca OAuth 2.0, które musisz wezwywać, zobacz referencję Autoryzacja.

  3. Przejdź przez proces recenzji, aby uzyskać więcej quota użytkownika.