Roblox 提供一个 Node.js 示例应用程序,该应用程序显示使用 OAuth 2.0 来让用户登录到他们的 Roblox 帐户并在他们的体验上播放消息的方法。该应用程序使用 授权代码流 无 PKCE ,因此仅适合私人客户,例如私人服务器。
下载 .zip 文件后,将其解压到其自己的文件夹中。
注册应用
第一步设置应用程序是注册它在 Roblox 网站上 ,并复制客户端 ID 和秘密地方安全。然后按照以下设置进行标准注册:
- 在 权限 下,添加openid、profile和1>universe-messaging-service:publish1>。
- 在 重新向导 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_hereexport ROBLOX_CLIENT_SECRET=your_client_secret_hereexport 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 执行以下操作:
- 使用 express 启动一个新的网服务。
- 检索 Roblox OpenID Connect (OIDC) 配置,包括用于授权、用户信息等的端点。有关这些端点的更多信息,请参阅OAuth 2.0 身份认证。
- 使用 openid-client 和您的存储的密钥创建一个新的 Open ID 客户。此客户端显著简化了形成和发送 HTTP 请求到 OAuth 2.0 端点的过程。
- 为应用程App定义路径,包括登录和登出流程的重置以及 OAuth 2.0 回调。
- 在成功登录后,商店各种代币以 Cookie 的形式储存,并且以 getHomeHtml.js 的帮助显示为 HTML。