Roblox dostarcza przykładową aplikację Node.js, która pokazuje, jak użyć OAuth 2.0, aby użytkownicy mogli zalogować się do swoich kont Roblox i transmitować wiadomości w ich doświadczeniach. Ta aplikacja używa kodu autoryzacji bez PKCE i jest więc tylko odpowiednia dla klientów konfidencjalnych, takich jak prywatne serwery.
Po pobraniu pliku .zip, ekstraktuj go do jego własnego katalogu.
Rejestracja aplikacji
Pierwszym krokiem do ustawienia aplikacji jest rejestracja na stronie Roblox i kopiowanie ID klienta i sekretnego miejsca bezpiecznego. Następnie wykonuj standardowe kroki rejestracji z tych ustawień:
- Pod uprawnienia, dodaj openid, profile i 2> universe-messaging-service:publish2> zakresy.
- Pod Przeresłać URL , dodaj http://localhost:3000/oauth/callback przekierowanie. Jeśli chcesz użyć nieobsługiwanego portu dla swojego aplikacja, określ go tutaj.
Ustawienie zmienne środowiskowe
Zamiast zapisywania ich w kodzie (nie zalecane), aplikacja używa zmiennej środowiska dla Twojego ID klienta i sekretu. Proces dodawania zmiennej środowiska różni się w zależności od systemu operacyjnego.
W Windows, wykonaj następujące komendy PowerShell:
$env:ROBLOX_CLIENT_ID='your_client_id_here'$env:ROBLOX_CLIENT_SECRET='your_client_secret_here'$env:ROBLOX_PORT=3000 # Optional. Default is 3000.
Na Mac i w większości dystrybucji Linux, uruchom te komendy na terminalu:
export ROBLOX_CLIENT_ID=your_client_id_hereexport ROBLOX_CLIENT_SECRET=your_client_secret_hereexport ROBLOX_PORT=3000 # Optional. Default is 3000.
Jeśli określiłeś nieobsługujący port w URL przekierowania, upewnij się, że dodałeś zmienne ROBLOX_PORT.
Instalowanie uzależnienia
Aplikacja ma kilka zależności, widocznych w package.json. Aby je zainstalować, wykonaj:
npm ci
Uruchomienie aplikacji
Aby uruchomić aplikacja, wykonaj:
npm start
Następnie przeglądaj się do http://localhost:3000 (lub twojego nieobsługiwanego portu) w przeglądarkawebowej.
Aplikacja natychmiastowo przekierowuje cię na ekran logowania Roblox, na którym możesz się zalogować, zweryfikować uprawnienia, które aplikacja prosi o, i kliknij Potwierdź i daj dostęp .
Roblox następnie przekierowuje cię do localhost, gdzie możesz zobaczyć, że aplikacja teraz wyświetla niektóre minimalne informacje o użytkowniku, link do twojego profilu na Roblox i pola, które możesz użyć do transmitowania wiadomości w twoich doświadczeniach.
O aplikacji
Podstawowymi operacjami index.js jest wykonanie następujących operacji:
- Początkuje nowy serwer sieciowy używając express .
- Odzyskuje konfigurację Roblox OpenID Connect (OIDC), która obejmuje końcowe punkty dostępu do autoryzacji, informacje o użytkowniku itp. Dla więcej informacji o tych końcowych punktach dostępu, zobacz Autoryzacja OAuth 2.0.
- Utworzy nowy klient Open ID używając openid-client i Twoich przechowywanych credentiali. Ten klient znacznie uproszcza proces formowania i wysyłania prośb HTTP do endpointów OAuth 2.0.
- Definiuje trasy dla aplikacja, w tym przekierowania dla logowania i logowania i OAuth 2.0 callback.
- Po udanym zalogowaniu przechowuje różne tokeny jako ciasteczka, wraz z niektórymi minimalnymi informacjami użytkownika, które wyświetla jako HTML z pomocą getHomeHtml.js .