Roblox fornisce un'app di esempio Node.js che mostra come utilizzare OAuth 2.0 per consentire agli utenti di accedere ai loro account Roblox e trasmettere messaggi attraverso le loro esperienze.Questa app utilizza il flusso di codice di autorizzazione senza PKCE e quindi è adatto solo per clienti confidenziali, come server privati.
Dopo aver scaricato il file .zip , estraggilo nella sua cartella.
Registra l'applicazione
Il primo passo per configurare l'app è registrarla sul sito Web di Roblox e copiare l'ID del client e il segreto in qualche luogo sicuro.Quindi segui i passaggi di registrazione standard con queste impostazioni:
- Sotto Permessi , aggiungi il openid, profile e universe-messaging-service:publish scope.
- Sotto URL di reindirizzamento , aggiungi il reindirizzamento http://localhost:3000/oauth/callback. Se vuoi utilizzare un porto non predefinito per la tua applicazione, specificalo qui.
Imposta le variabili ambientali
Piuttosto che memorizzarli nel codice (non raccomandato), l'app utilizza le variabili ambientali per l'ID e il segreto del tuo client.Il processo per l'aggiunta di variabili ambientali differisce a seconda del sistema operativo.
Su Windows, esegui i seguenti comandi 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.
Su Mac e la maggior parte delle distribuzioni Linux, esegui questi comandi al terminale:
export ROBLOX_CLIENT_ID=your_client_id_hereexport ROBLOX_CLIENT_SECRET=your_client_secret_hereexport ROBLOX_PORT=3000 # Optional. Default is 3000.
Se hai specificato un port non predefinito nell'URL di reindirizzamento durante la registrazione della tua applicazione, assicurati di aggiungere la variabile ROBLOX_PORT.
Installa dipendenze
L'app ha una manciata di dipendenze, visibili in package.json . Per installarle, Eseguire:
npm ci
Esegui l'applicazione
Per avviare l'applicazione, Eseguire:
npm start
Quindi naviga a http://localhost:3000 (o al tuo porto non predefinito) in un browser web.
L'app ti reindirizza immediatamente alla schermata di accesso a Roblox, a cui punto puoi accedere, verificare le autorizzazioni che l'app sta richiedendo e fare clic su Conferma e dai accesso .
Roblox ti reindirizza quindi a localhost, dove puoi vedere che l'app ora visualizza alcune informazioni utente minime, un link al tuo profilo su Roblox e campi che puoi utilizzare per trasmettere messaggi attraverso le tue esperienze.
Informazioni sull'applicazione
Con linee generali, index.js esegue le seguenti operazioni:
- Avvia un nuovo server web utilizzando express .
- Recupera la configurazione di Roblox OpenID Connect (OIDC), che include endpoint per l'autorizzazione, informazioni sull'utente, ecc.Per ulteriori informazioni su questi endpoint, vedi autenticazione OAuth 2.0.
- Crea un nuovo client Open ID utilizzando openid-client e le tue credenziali memorizzate.Questo client rende drammaticamente più semplice il processo di formazione e invio delle richieste HTTP correttamente formate e inviate ai punti finali OAuth 2.0.
- Definisce le rotte per l'applicazione, inclusi i reindirizzamenti per i flussi di login e di disconnessione e il Richiamadi OAuth 2.0.
- Dopo un login riuscito, memorizza i vari token come cookie, insieme ad alcune informazioni utente minime che visualizza come HTML con l'aiuto di getHomeHtml.js .