OAuth 2.0 Échantillon d'application

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Roblox fournit une application de script node.js qui montre comment utiliser OAuth 2.0 pour permettre aux utilisateurs de se connecter à leurs comptes Roblox et de diffuser des messages dans leurs expériences. Cette application utilise le code d'autorisation sans autorisation sans PKCE et est donc seulement adaptée aux clients confidentiels, tels que les serveurs privés.


Après le téléchargement du fichier .zip, extraire-le dans son propre dossier.

Enregistrement de l'application

La première étape pour configurer l'application est de la enregistrer sur le site Web de Roblox et de copier l'ID du client et le secret quelque part de sécurité. Puis suivez les étapes de configuration standard avec ces paramètres :

  1. Sous permissions, ajoutez le openid, profile, et 2>universe-messaging-service:publierscopes.
  2. Sous Redirigez les URLs , ajoutez le http://localhost:3000/oauth/callback redirige. Si vous souhaitez utiliser un port non par défaut pour votre application, spécifiez-le ici.

Définir les variables d'environnement

Au lieu de les stocker dans le code (non recommandé), l'application utilise des variables d'environnement pour votre ID de client et votre secret. Le processus d'ajout de variables d'environnement diffère selon l'environnement.

Sous Windows, exécutez les commandes suivantes 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.

Sur Mac et la plupart des distractions Linux, exécutez ces commandes au terminal :


export ROBLOX_CLIENT_ID=your_client_id_here
export ROBLOX_CLIENT_SECRET=your_client_secret_here
export ROBLOX_PORT=3000 # Optional. Default is 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.

Installation des dépendances

L'application a une dizaine de dépendances, visibles dans package.json . Pour les installer, lancer:


npm ci

Exécuter l'application

Pour démarrer l'application, lancer:


npm start

Ensuite, naviguez à http://localhost:3000 (ou votre port non par défaut) dans un navigateur web.

L'application vous redirige immédiatement à l'écran de connexion Roblox, auquel vous pouvez vous connecter, vérifier les permissions que la demande d'application demande et cliquer sur Confirmer et donner l'accès .

Roblox vous redirige alors à nouveau à localhost, où vous pouvez voir que l'application affiche maintenant quelques informations utilisateur minimales, un lien vers votre profil sur Roblox et des champs que vous pouvez utiliser pour diffuser des messages dans vos expériences.

À propos de l'application

En quelques mots, index.js effectue les opérations suivantes :

  1. Démarre un nouveau serveur Web en utilisant express .
  2. Récupère la configuration Roblox OpenID Connect (OIDC), qui inclut des points d'extrémité pour l'autorisation, les informations sur l'utilisateur, etc. Pour plus d'informations sur ces points d'extrémité, voir l'authentification OAuth 2.0.
  3. Crée un nouveau client Open ID en utilisant openid-client et vos credenciaux stockés. Ce client simplifie considérablement le processus de formation et d'envoi d'une demande HTTP à destination des points d'accès OAuth 2.0.
  4. Définit les routes pour l'application, y compris les redirections pour les flux de connexion et de déconnexion et le rappel OAuth 2.0.
  5. Après un retour de connexion réussi, les différents jetons sont stockés en tant que cookies, ainsi que certaines informations d'utilisateur minimales qu'il affiche en tant que HTML avec l'aide de getHomeHtml.js .