Roblox cung cấp một app Node.js ví dụ cho 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 thông điệp qua các trải nghiệm của họ. App này sử dụng mã ủy quyền dòng mà không có PKCE và chỉ ph
Sau khi tải .zip tập tin, tải nó vào thư mục của riêng nó.
Đăng ký ứng dụng
Bước đầu tiên để cài đặt app là đăng ký nó trên trang Roblox và sao chép ID khách hàng và mật mã ở một nơi an toàn. Sau đó, thực hiện các bước đăng ký tiêu chuẩn với các cài đặt này:
- Dưới quyền hạn, thêm openid, profile và 2> universe-messaging-service:publish2> scope.
- Dưới chuyển hướng URL , thêm các http://localhost:3000/oauth/callback chuyển hướng. Nếu bạn muốn sử dụng một cổng không phải mặc định cho ứng dụng của bạn, xác định nó ở đây.
Cài đặt biến môi trường
Thay vì lưu chúng trong mã (không được khuyến nghị), app sử dụng biến môi trường cho ID khách hàng và mật mã của bạn. Quá trình thêm biến môi trường khác nhau tùy theo hệ điều hành.
Trên Windows, thực hiện các lệnh PowerShell sau đây:
$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 phiên bản Linux, chạy các lệnh này tại Terminal:
export ROBLOX_CLIENT_ID=your_client_id_hereexport ROBLOX_CLIENT_SECRET=your_client_secret_hereexport ROBLOX_PORT=3000 # Optional. Default is 3000.
Nếu bạn đã đặt một cảng không phải mặc định trong URL chuyển hướng của ứng dụngcủ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ể thấy ở package.json. Để cài đặt chúng, hãy chạy:
npm ci
Chạy ứng dụng
Để khởi động ứng dụng, thực hiện:
npm start
Sau đó truy cập http://localhost:3000 (hoặc cổng không phải mặc định của bạn) trong một trình duyệt web.
Ứng dụng ngay lập tức chuyển bạn đến màn hình đăng nhập Roblox, tại đó bạn có thể đăng nhập, xác minh các quyền của app đang yêu cầu và nhấp vào Xác nhận và cho phép truy cập .
Roblox sau đó chuyển bạn trở lại localhost, nơi bạn có thể thấy rằng ứng dụng bây giờ hiển thị một số thông tin người dùng tối thiểu, một liên kết đến profil của bạn trên Roblox và các trường bạn có thể sử dụng để phát sóng thông điệp trên các trải nghiệm của bạn.
Về ứng dụng
Nhìn chung, index.js thực hiện các hoạt động sau đây:
- Khởi tạo một máy chủ web mới bằng cách sử dụng express .
- Lấy cấu hình Roblox OpenID Connect (OIDC), bao gồm các điểm kết nối cho phẩm quyền, thông tin người dùng,v.v. For more information about these điểm kết nối, see OAuth 2.0 Authentication .
- Tạo một client ID mới bằng cách sử dụng openid-client và các thông tin đăng nhập của bạn. Client này tối ưu hóa quá trình hình thành và gửi lời mời HTTP đến các điểm kết nối OAuth 2.0.
- Định nghĩa các con đường cho app, bao gồm cả hướng dẫn đăng nhập và thoát và hồ sơ OAuth 2.0 của app.
- Sau khi đăng nhập thành công, lưu trữ các loại token khác nhau như các bánh quy, 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 .