Aplicación de muestra aplicación (app)OAuth 2.0

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Roblox proporciona una aplicación de muestra de Node.js que muestra cómo usar OAuth 2.0 para permitir que los usuarios se conecten a sus cuentas de Roblox y envíen mensajes a través de sus experiencias.Esta aplicación utiliza el flujo de código de autorización sin PKCE y, por lo tanto, solo es adecuada para clientes confidenciales, como servidores privados.


Después de descargar el archivo .zip, extraerlo a su propia carpeta.

Registra la aplicación (app)

El primer paso para configurar la aplicación es registrarla en el sitio web de Roblox y copiar la ID del cliente y el secreto en algún lugar seguro.Luego sigue los pasos de registro estándar con estas configuraciones:

  1. Bajo permisos , añade los openid, profile y universe-messaging-service:publish alcances.
  2. Debajo de URL de redirección , agregue el redireccionamiento http://localhost:3000/oauth/callback. Si desea usar un puerto no predeterminado para su aplicación (app), especifíquelo aquí.

Establecer variables de entorno

En lugar de almacenarlos en código (no recomendado), la aplicación utiliza variables de entorno para el ID y la contraseña de tu cliente.El proceso para agregar variables de entorno difiere según el sistema operativo.

En Windows, ejecute los siguientes comandos de 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.

En Mac y la mayoría de las distribuciones de Linux, ejecute estos comandos en el 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 especificó un puerto no predeterminado en la URL de redirección al registrar su aplicación (app), asegúrese de agregar la variable ROBLOX_PORT.

Instalar dependencias

La aplicación tiene un puñado de dependencias, visibles en package.json . Para instalarlas, ejecutar:


npm ci

Ejecutar la aplicación (app)

Para iniciar la aplicación (app), ejecutar:


npm start

Luego navegue a http://localhost:3000 (o a su puerto no predeterminado) en un navegador web.

La aplicación te redirige inmediatamente a la pantalla de inicio de sesión de Roblox, en la que puedes iniciar sesión, verificar los permisos que la aplicación está solicitando y hacer clic en Confirmar y dar acceso .

Roblox luego te redirige de vuelta a localhost , donde puedes ver que la aplicación ahora muestra algo de información de usuario mínima, un enlace de vuelta a tu perfil en Roblox y campos que puedes usar para transmitir mensajes a través de tus experiencias.

Sobre la aplicación (app)

En grandes rasgos, index.js realiza las siguientes operaciones:

  1. Inicia un nuevo servidor web usando express.
  2. Recupera la configuración de Roblox OpenID Connect (OIDC), que incluye puntos finales para la autorización, información de usuario, etc.Para obtener más información sobre estos puntos finales, vea autenticación de OAuth 2.0.
  3. Crea un nuevo cliente de Open ID utilizando openid-client y tus credenciales almacenadas.Este cliente simplifica dramáticamente el proceso de formar y enviar solicitudes HTTP correctamente a los puntos finales de OAuth 2.0.
  4. Define las rutas para la aplicación (app), incluidos los redireccionamientos para los flujos de inicio de sesión y salida y la devolución de llamadade devolución de OAuth 2.0.
  5. Después de un inicio de sesión exitoso, almacena los varios tokens como cookies, junto con algo de información de usuario mínima que muestra como HTML con la ayuda de getHomeHtml.js .