OAuth 2.0 示例应用

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

Roblox 提供一个 Node.js 示例应用程序,该应用程序显示使用 OAuth 2.0 来让用户登录到他们的 Roblox 帐户并在他们的体验上播放消息的方法。该应用程序使用 授权代码流 无 PKCE ,因此仅适合私人客户,例如私人服务器。


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

注册应用

第一步设置应用程序是注册它在 Roblox 网站上 ,并复制客户端 ID 和秘密地方安全。然后按照以下设置进行标准注册:

  1. 权限 下,添加openidprofile和1>universe-messaging-service:publish1>。
  2. 重新向导 URL 下,添加http://localhost:3000/oauth/callback重新向导。如果您想要为您的App用使用非默认端口,请在此指定。

设置环境变量

而不是将它们存储在代码中(不建议),客户端ID和秘密的环境变量是 app 使用的。 添加环境变量的过程在操作系统上不同。

在 Windows 上,运行以下 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.

在 Mac 和大多数 Linux 版本上,在终端上运行这些命令:


export ROBLOX_CLIENT_ID=your_client_id_here
export ROBLOX_CLIENT_SECRET=your_client_secret_here
export ROBLOX_PORT=3000 # Optional. Default is 3000.

如果您在注册应用程App时在转向 URL 中指定了一个非默认港口,请确保添加 ROBLOX_PORT 变量。

安装依赖

该应用程序有一个可以在 package.json 中看到的依赖手段。要将其安装,请奔跑:


npm ci

运行应用程序

要启动应用程App,请奔跑:


npm start

然后在 web 浏览器中导航到 http://localhost:3000 (或您的默认不是港口) 。

该应用程序立即将您重新定向到 Roblox 登录屏幕,在该屏幕上您可以登录、验证 app 请求的权限,然后单击 确认并提供访问

Roblox 然后将您重新定向到 localhost,您可以看到应用程序现在显示一些最低用户信息,您可以使用此链接返回 Roblox 的个人资料,并且您可以使用此些字段来在您的体验上广播消息。

关于应用

在广泛的描述中,index.js 执行以下操作:

  1. 使用 express 启动一个新的网服务。
  2. 检索 Roblox OpenID Connect (OIDC) 配置,包括用于授权、用户信息等的端点。有关这些端点的更多信息,请参阅OAuth 2.0 身份认证
  3. 使用 openid-client 和您的存储的密钥创建一个新的 Open ID 客户。此客户端显著简化了形成和发送 HTTP 请求到 OAuth 2.0 端点的过程。
  4. 为应用程App定义路径,包括登录和登出流程的重置以及 OAuth 2.0 回调。
  5. 在成功登录后,商店各种代币以 Cookie 的形式储存,并且以 getHomeHtml.js 的帮助显示为 HTML。