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 budować lub autoryzować aplikacje, które korzystają z otwartych chmurowych API, aby uzyskać dostęp do zasobów Roblox.Open Cloud zapewnia autoryzację dla tych aplikacji za pomocą OAuth 2.0.

Jako twórca doświadczenia lub właściciel grupy

Możesz bezpiecznie korzystać z narzędzi stworzonych przez innych, aby poprawić produktywność tworzenia.Warstwa autoryzacji OAuth 2.0 pozwala przyznawać uprawnienia aplikacjom stron trzecich do uzyskiwania doświadczeń twoich lub twojej grupabez przekazywania im swoich danych uwierzytelnienia i osobistych informacji.Wybierasz uprawnienia dostępu do konkretnych zasobów Roblox, a Roblox zajmuje się procesem autoryzacji za pomocą ramy OAuth 2.0.

Jako programista 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 role wzajemnie się komunikują, oraz przepływy autoryzacji, których musisz przestrzegać, aby opracować bezpieczne i kompatybilne aplikacje.

Role

Protokół Open Cloud OAuth 2.0 ma następujące role.Warto zrozumieć specyficzną rolę przed nauką o tym, jak wchodzą w interakcję ze sobą w przepływach autoryzacji.

  • Właściciel zasobu : Podmiot zdolny do przyznania dostępu do chronionej zasoby.Na przykład twórca, który pozwala aplikacji strony trzeciej uzyskać dostęp do swoich zasobów Roblox za pośrednictwem otwartych chmurkowych interfejsów API.

  • Serwer zasobów : Usługa Roblox, która hostuje chronione zasoby i odpowiada na żądania właściciela zasobu.

  • Klient : Aplikacja, która uzyskuje zasoby chronione w imieniu właściciela zasobu (z autoryzacją właściciela).

  • Serwer autoryzacji : Serwer Roblox, który autoryzuje tożsamość właściciela zasobu i wydaje tokeny dostępu do klienta.

Typy grantów

Przepływy autoryzacji lub rodzaje grantów są krokami działań, które role wykonują podczas procesu autoryzacji.Roblox wspiera przepływ kodu autoryzacji OAuth 2.0 i jego klucz dowodowy dla rozszerzenia wymiany kodu (PKCE), z różnymi wymaganiami dotyczącymi implementacji dla aplikacji, które są zdolne lub niezdolne do przechowywania sekretów klienta.

Przepływ kodu autoryzacji

Poprzez przepływ kodu autoryzacji klient wymienia kod autoryzacji na token dostępu i token odświeżenia, aby ukończyć proces autoryzacji w następujących krokach:

  1. Klient wysyła prośbę o autoryzację do serwera autoryzacji Roblox.

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

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

  4. Serwer autoryzacji przekierowuje właściciela zasobu z powrotem do klienta za pomocą kodu autoryzacji.

  5. Klient żąda tokenu dostępu za pomocą kodu autoryzacji na końcu tokenu.

  6. Klient otrzymuje odpowiedź z punktu końcowego tokenu zawierającą token dostępu, token tożsamości i token odświeżający.

  7. Klient odzyskuje dozwolone zasoby po uzyskaniu tokenu dostępu.

Poniższy obraz przedstawia interakcje między rolami w przepływie kodu autoryzacji, które przeczytasz w następnych sekcjach:

Przepływ kodu autoryzacji z PKCE

Rozszerzenie PKCE kodu autoryzacyjnego pomaga zmniejszyć ryzyko wycieku kodu autoryzacyjnego i zapobiec sfałszowaniu żądań międzystronnych (CSRF), atakowi, który oszukuje użytkowników do składania niezamierzonych żądań webowych.Ten przepływ kończy proces autoryzacji za pomocą następujących kroków:

  1. Klient generuje unikalny i kryptograficznie losowy klucz o nazwie weryfikator kodu dla każdej prośbao autoryzację.

  2. Klient uruchamia algorytm SHA-256 na weryfikatorze kodu, aby wygenerować wyzwanie kodowe.

  3. Jeśli klient:

    • Jest to publiczny klient, zamiast używać sekretu klienta, przekazuje ID klienta i wyzwanie kodowe w prośbaautoryzacji.

    • Jest to poufny klient, dodaje wyzwanie kodowe wraz z ID klienta i sekretem w prośba.

  4. Klient wysyła prośbę o autoryzację do serwera autoryzacji Roblox.

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

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

  7. Serwer autoryzacji przekierowuje właściciela zasobu z powrotem do klienta za pomocą kodu autoryzacji.

  8. Klient zawiera kod autoryzacji i oryginalny weryfikator kodu w żądaniu tokenu do punktu końcowego tokenu.

  9. Serwer autoryzacji weryfikuje kod autoryzacji i powiązany weryfikator kodu

  10. Klient otrzymuje odpowiedź z punktu końcowego tokenu zawierającą token dostępu, token tożsamości i token odświeżający.

  11. Klient odzyskuje dozwolone zasoby po uzyskaniu tokenu dostępu.

Wsparcie OpenID Connect

Roblox wykorzystuje OpenID Connect (OIDC) jako warstwę tożsamości na szczycie protokołu OAuth 2.0 do uwierzytelniania, aby chronić wrażliwe informacje o kontach.OIDC pozwala aplikacjom zweryfikować tożsamość użytkowników i uzyskać ich podstawowe informacje o profilu publicznym, takie jak identyfikator użytkownika, nazwy użytkowników, nazwy wyświetlania i linki do profili.

Rejestracja i implementacja

Aby wdrożyć aplikację internetową lub mobilną, która wykorzystuje przepływ kodu autoryzacji, musisz:

  1. Rejestruj swoją aplikację z Roblox.Umożliwia to uzyskanie identyfikatora klienta i sekretu, aby zarejestrować swoją aplikację w Roblox i wykonać wezwania do swoich punktów końcowych.

  2. Wdroż przepływ kodu autoryzacji.Aby uzyskać pełny odniesienie do punktów końcowych OAuth 2.0, które musisz wezwać, zobacz odniesienie Autoryzacja.

  3. Przejdź przez proces recenzji aby uzyskać więcej miejsca dla użytkowników.