Ứng dụng ứng dụngOAuth 2.0

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Roblox cung cấp một ứng dụng mẫu Node.js cho thấy cách sử dụng OAuth 2.0 để cho phép người dùng đăng nhập vào tài khoản Roblox của họ và phát sóng tin nhắn trên các trải nghiệm của họ.Ứng dụng này sử dụng dòng mã xác nhận không có PKCE và do đó chỉ phù hợp với khách hàng bí mật, chẳng hạn như máy chủ riêng.


Sau khi tải xuống tập tin .zip, chiết xuất nó vào thư mục riêng của nó.

Đăng ký ứng dụng

Bước đầu tiên để thiết lập ứng dụng là đăng ký nó trên trang web Roblox và sao chép ID khách hàng và bí mật ở một nơi an toàn.Sau đó, làm theo các bước đăng ký tiêu chuẩn với các cài đặt này:

  1. Dưới Quyền cấp , thêm openid, profileuniverse-messaging-service:publish phạm vi.
  2. Dưới URL chuyển hướng , thêm chuyển hướng http://localhost:3000/oauth/callback. Nếu bạn muốn sử dụng cổng không mặc định cho ứng dụng của mình, hãy đặc điểm nó ở đây.

Đặt biến môi trường

Thay vì lưu chúng trong mã (không được khuyến nghị), ứng dụng sử dụng biến môi trường cho ID và bí mật của khách hàng của bạn.Quá trình thêm biến môi trường khác nhau bởi hệ điều hành.

Trên Windows, chạy các lệnh PowerShell sau:


$env:ROBLOX_CLIENT_ID='your_client_id_here'
$env:ROBLOX_CLIENT_SECRET='your_client_secret_here'
$env:ROBLOX_PORT=3000 # Optional. Default is 3000.

Trên Mac và hầu hết các phân phối Linux, chạy các lệnh này tại 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.

Nếu bạn đã đặc trưng một cổng không phải là mặc định trong URL chuyển hướng khi đăng ký ứng dụng của bạn, hãy chắc chắn thêm biến ROBLOX_PORT.

Cài đặt phụ thuộc

Ứng dụng có một vài phụ thuộc, có thể nhìn thấy trong package.json . Để cài đặt chúng, hãy chạy:


npm ci

Chạy ứng dụng

Để khởi động ứng dụng, chạy:


npm start

Sau đó, di chuyển đến http://localhost:3000 (hoặc cổng không phải mặc định của bạn) trong trình duyệt web.

Ứng dụng ngay lập tức chuyển hướng bạn đến màn hình đăng nhập của Roblox, tại điểm này bạn có thể đăng nhập, xác minh các quyền mà ứng dụng yêu cầu và nhấp vào Xác nhận và cho phép truy cập .

Roblox sau đó chuyển hướng bạn trở lại localhost, nơi bạn có thể thấy rằng ứng dụng hiện đang hiển thị một số thông tin người dùng tối thiểu, một liên kết quay lại hồ sơ của bạn trên Roblox, và các trường có thể sử dụng để phát sóng tin nhắn trên các trải nghiệm của bạn.

Về ứng dụng

Trong những nét chính, index.js thực hiện các hoạt động sau:

  1. Bắt đầu một máy chủ web mới bằng cách sử dụng express .
  2. Lấy cấu hình Roblox OpenID Connect (OIDC), bao gồm các điểm cuối cho việc xác nhận, thông tin người dùng, v.v.Để biết thêm thông tin về các điểm cuối này, hãy xem Xác thực OAuth 2.0.
  3. Tạo một khách hàng ID Mở mới bằng cách sử dụng openid-client và thông tin được lưu của bạn.Client này giản lược mạnh mẽ quá trình hình thành và gửi yêu cầu HTTP đúng cách đến các điểm cuối OAuth 2.0.
  4. Xác định các tuyến cho ứng dụng, bao gồm cả chuyển hướng cho dòng đăng nhập và thoát và cuộc gọi trả lại OAuth 2.0.
  5. Sau khi đăng nhập thành công, lưu các token khác nhau như cookie, cùng với một số thông tin người dùng tối thiểu mà nó hiển thị như HTML với sự giúp đỡ từ getHomeHtml.js .