Exemple d'application OAuth 2.0

*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 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 expériences.Cette application utilise le flux de code d'autorisation sans PKCE et est donc seulement adaptée aux clients confidentiels, tels que les serveurs privés.


Après avoir téléchargé le fichier .zip, extrayez-le dans son propre dossier.

Enregistrer l'application

La première étape pour configurer l'application consiste à la注册 sur le site Web de Roblox et à copier l'ID du client et le secret dans un endroit sûr.Ensuite, suivez les étapes d'enregistrement standard avec ces paramètres :

  1. En dessous de permissions , ajoutez le openid, profile et universe-messaging-service:publish scopes.
  2. En dessous de rediriger les URLs , ajoutez la redirection http://localhost:3000/oauth/callback. Si vous voulez utiliser un port non par défaut pour votre application, spécifiez-le ici.

Définir des variables d'environnement

Plutôt que de les stocker dans le code (pas recommandé), l'application utilise des variables d'environnement pour l'ID et le secret de votre client.Le processus d'ajout de variables d'environnement diffère selon le système d'exploitation.

Sur 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 # Optional. Default is 3000.

Sur Mac et la plupart des distributions 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.

Installer les dépendances

L'application a une poignée 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 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 de Roblox, auquel point vous pouvez vous connecter, vérifier les permissions que l'application demande et cliquer sur Confirmer et donner accès .

Roblox vous redirige ensuite vers localhost, où vous pouvez voir que l'application affiche désormais certaines informations utilisateur minimales, un lien vers votre profil sur Roblox et des champs que vous pouvez utiliser pour diffuser des messages à travers vos expériences.

À propos de l'application

En grandes lignes, 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 comprend des points de terminaison pour l'autorisation, des informations sur l'utilisateur, etc.Pour plus d'informations sur ces points de terminaison, voir authentification OAuth 2.0.
  3. Crée un nouveau client Open ID en utilisant openid-client et vos crédéniels stockés.Ce client simplifie dramatiquement le processus de formation et d'envoi de demandes HTTP correctes aux points de terminaison 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 une connexion réussie, le magasin stocke les différents jetons en tant que cookies, ainsi que certaines informations utilisateur minimales qu'il affiche en HTML avec l'aide de getHomeHtml.js.