OAuth 2.0 示例应用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Roblox 提供了一个 Node.js 示例应用,展示如何使用 OAuth 2.0 让用户登录他们的 Roblox 账户并在他们的游戏中广播消息。此应用使用 未使用 PKCE 的授权代码流,因此仅适合机密客户端,如私有服务器。


下载 .zip 文件后,将其解压到自己的文件夹中。

注册应用

设置应用的第一步是 在 Roblox 网站上注册 并将客户端 ID 和密钥保存在安全的地方。然后按照以下设置的标准注册步骤进行操作:

  1. 权限 下,添加 openidprofileuniverse-messaging-service:publish 范围。
  2. 重定向 URL 下,添加 http://localhost:3000/oauth/callback 来重定向。如果你希望为你的应用使用非默认端口,请在此处指定。

设置环境变量

应用使用环境变量存储客户端 ID 和密钥,而不是将其存储在代码中(不推荐)。添加环境变量的过程因操作系统而异。

在 Windows 上,运行以下 PowerShell 命令:


$env:ROBLOX_CLIENT_ID='your_client_id_here'
$env:ROBLOX_CLIENT_SECRET='your_client_secret_here'
$env:ROBLOX_PORT=3000 # 可选。默认值为 3000。

在 Mac 和大多数 Linux 发行版上,在终端运行以下命令:


export ROBLOX_CLIENT_ID=your_client_id_here
export ROBLOX_CLIENT_SECRET=your_client_secret_here
export ROBLOX_PORT=3000 # 可选。默认值为 3000。

如果在注册应用时在重定向 URL 中指定了非默认端口,请确保添加 ROBLOX_PORT 变量。

安装依赖

该应用有一些依赖项,可以在 package.json 中查看。要安装它们,请运行:


npm ci

运行应用

要启动应用,请运行:


npm start

然后在网页浏览器中导航到 http://localhost:3000(或你的非默认端口)。

该应用会立即重定向你到 Roblox 登录屏幕,此时你可以登录,验证应用请求的权限,并点击 确认并授予访问权限

Roblox 然后会将你重定向回 localhost,在这里你可以看到应用现在显示了一些最少的用户信息、一个返回你在 Roblox 上的个人资料的链接,以及可以用于在你的游戏中广播消息的字段。

关于该应用

大致来说,index.js 执行以下操作:

  1. 使用 express 启动一个新的 Web 服务器。
  2. 检索 Roblox OpenID Connect (OIDC) 配置,其中包括用于授权、用户信息等的端点。有关这些端点的更多信息,请参见 OAuth 2.0 认证
  3. 使用 openid-client 和你存储的凭证创建一个新的 Open ID 客户端。此客户端显著简化了正确构造和发送 HTTP 请求到 OAuth 2.0 端点的过程。
  4. 定义应用的路由,包括登录和注销流程的重定向和 OAuth 2.0 回调。
  5. 成功登录后,将各种令牌存储为 cookie,以及一些最少的用户信息,并借助 getHomeHtml.js 作为 HTML 显示。
©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。