Roblox fournit une application d'exemple Node.js qui montre comment utiliser OAuth 2.0 pour permettre aux utilisateurs de se connecter à leurs comptes Roblox et de diffuser des messages à travers leurs jeux. Cette application utilise le flux de code d'autorisation sans PKCE et est donc uniquement adaptée aux clients confidentiels, tels que les serveurs privés.
Après avoir téléchargé le fichier .zip, décompressez-le dans son propre dossier.
Enregistrer l'application
La première étape pour configurer l'application consiste à l'enregistrer sur le site web de Roblox et à copier l'ID et le secret du client dans un endroit sûr. Ensuite, suivez les étapes d'enregistrement standard avec ces paramètres :
- Sous Permissions, ajoutez les scopes openid, profile, et universe-messaging-service:publish.
- Sous URLs de redirection, ajoutez le http://localhost:3000/oauth/callback redirect. Si vous souhaitez utiliser un port autre que le port par défaut pour votre application, spécifiez-le ici.
Définir les variables d'environnement
Plutôt que de les stocker dans le code (non recommandé), l'application utilise des variables d'environnement pour votre ID et votre secret de client. Le processus d’ajout de variables d'environnement diffère selon le système d'exploitation.
Sous Windows, exécutez les commandes PowerShell suivantes :
$env:ROBLOX_CLIENT_ID='your_client_id_here'$env:ROBLOX_CLIENT_SECRET='your_client_secret_here'$env:ROBLOX_PORT=3000 # Optionnel. Par défaut, c'est 3000.
Sur Mac et la plupart des distributions Linux, exécutez ces commandes dans le terminal :
export ROBLOX_CLIENT_ID=your_client_id_hereexport ROBLOX_CLIENT_SECRET=your_client_secret_hereexport ROBLOX_PORT=3000 # Optionnel. Par défaut, c'est 3000.
Si vous avez spécifié un port non par défaut dans l'URL de redirection lors de l'enregistrement de votre application, assurez-vous d'ajouter la variable ROBLOX_PORT.
Installer les dépendances
L'application a quelques dépendances, visibles dans package.json. Pour les installer, exécutez :
npm ci
Lancer l'application
Pour démarrer l'application, exécutez :
npm start
Ensuite, naviguez vers http://localhost:3000 (ou votre port non par défaut) dans un navigateur web.
L'application vous redirige immédiatement vers l'écran de connexion Roblox, à ce moment-là, vous pouvez vous connecter, vérifier les autorisations que l'application demande, et cliquer sur Confirmer et Accéder.
Roblox vous redirige alors vers localhost, où vous pouvez voir que l'application affiche maintenant quelques informations utilisateur minimales, un lien de retour vers votre profil sur Roblox, et des champs que vous pouvez utiliser pour diffuser des messages à travers vos jeux.
À propos de l'application
En termes larges, index.js effectue les opérations suivantes :
- Démarre un nouveau serveur web utilisant express.
- Récupère la configuration OpenID Connect (OIDC) de Roblox, qui comprend des points de terminaison pour l'autorisation, les informations utilisateur, etc. Pour plus d'informations sur ces points de terminaison, voir authentification OAuth 2.0.
- Crée un nouveau client Open ID utilisant openid-client et vos identifiants stockés. Ce client simplifie considérablement le processus de formation et d'envoi de requêtes HTTP aux points de terminaison OAuth 2.0.
- Définit les routes de l'application, y compris les redirections pour les flux de connexion et de déconnexion et le rappel OAuth 2.0.
- Après une connexion réussie, stocke les différents jetons sous forme de cookies, ainsi que quelques informations utilisateur minimales qu'il affiche en HTML avec l'aide de getHomeHtml.js.