Tổng quan về OAuth 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.

Bạn có thể xây dựng hoặc ủy quyền cho các ứng dụng sử dụng Open Cloud APIs để truy cập vào tài nguyên Roblox. Open Cloud cung cấp xác thực cho các ứng dụng này bằng cách sử dụng OAuth 2.0.

Với tư cách là nhà phát triển game hoặc chủ sở hữu nhóm

Bạn có thể an toàn sử dụng các công cụ được tạo ra bởi người khác để cải thiện năng suất sáng tạo của mình. Lớp ủy quyền OAuth 2.0 cho phép bạn cấp quyền cho các ứng dụng bên thứ ba truy cập vào game của bạn hoặc nhóm của bạn mà không cần cung cấp thông tin xác thực và thông tin cá nhân của bạn. Bạn chọn quyền truy cập cho các tài nguyên Roblox cụ thể của bạn, và Roblox sẽ xử lý quá trình ủy quyền cho bạn bằng khuôn khổ OAuth 2.0.

Với tư cách là một nhà phát triển ứng dụng

Bạn có thể tạo ra các ứng dụng cho bản thân và người khác trong cộng đồng Roblox. OAuth 2.0 định nghĩa các vai trò liên quan trong quá trình ủy quyền, giao thức mà các vai trò tương tác với nhau và các luồng ủy quyền mà bạn cần tuân theo để phát triển các ứng dụng an toàn và tương thích.

Vai trò

Giao thức Open Cloud OAuth 2.0 có các vai trò sau. Thật hữu ích để hiểu rõ các vai trò cụ thể trước khi tìm hiểu về cách chúng tương tác với nhau trong các luồng ủy quyền.

  • Chủ sở hữu tài nguyên: Một thực thể có khả năng cấp quyền truy cập vào một tài nguyên được bảo vệ. Ví dụ, một nhà sáng tạo cho phép một ứng dụng bên thứ ba truy cập vào các tài nguyên Roblox của họ thông qua Open Cloud Web APIs.

  • Máy chủ tài nguyên: Một dịch vụ của Roblox lưu trữ các tài nguyên được bảo vệ và phản hồi các yêu cầu từ chủ sở hữu tài nguyên.

  • Khách hàng: Một ứng dụng truy cập vào các tài nguyên được bảo vệ thay mặt cho chủ sở hữu tài nguyên (với sự ủy quyền của chủ sở hữu).

  • Máy chủ ủy quyền: Máy chủ Roblox xác thực danh tính của chủ sở hữu tài nguyên và phát hành mã truy cập cho khách hàng.

Các loại Ủy quyền

Các luồng ủy quyền, hay các loại ủy quyền, là các bước hành động mà các vai trò thực hiện trong quá trình ủy quyền. Roblox hỗ trợ luồng mã ủy quyền OAuth 2.0 và phần mở rộng Proof Key for Code Exchange (PKCE) của nó, với các yêu cầu triển khai khác nhau cho các ứng dụng có khả năng hoặc không có khả năng lưu trữ bí mật khách hàng.

Luồng mã ủy quyền

Thông qua luồng mã ủy quyền, một khách hàng trao đổi một mã ủy quyền lấy mã truy cập và mã làm mới để hoàn tất quá trình ủy quyền theo các bước sau:

  1. Khách hàng gửi một yêu cầu ủy quyền đến máy chủ ủy quyền Roblox.

  2. Máy chủ ủy quyền xác thực danh tính của chủ sở hữu tài nguyên.

  3. Máy chủ ủy quyền nhận quyền truy cập cho các tài nguyên Roblox cụ thể từ chủ sở hữu tài nguyên.

  4. Máy chủ ủy quyền chuyển hướng chủ sở hữu tài nguyên trở lại khách hàng với một mã ủy quyền.

  5. Khách hàng yêu cầu mã truy cập bằng mã ủy quyền tại điểm cuối mã.

  6. Khách hàng nhận phản hồi từ điểm cuối mã chứa một mã truy cập, một mã ID, và một mã làm mới.

  7. Khách hàng truy xuất các tài nguyên được phép sau khi nhận mã truy cập.

Hình dưới đây mô tả các tương tác giữa các vai trò trong luồng mã ủy quyền mà bạn sẽ đọc trong các phần tiếp theo:

Luồng mã ủy quyền với PKCE

Phần mở rộng PKCE của luồng mã ủy quyền giúp giảm thiểu nguy cơ rò rỉ mã ủy quyền và ngăn chặn các cuộc tấn công giả mạo yêu cầu giữa các trang (CSRF), một cuộc tấn công lừa người dùng gửi các yêu cầu web không mong muốn. Luồng này hoàn tất quá trình ủy quyền với các bước sau:

  1. Khách hàng tạo ra một khóa duy nhất và ngẫu nhiên về mặt mật mã gọi là code verifier cho mỗi yêu cầu ủy quyền.

  2. Khách hàng chạy một thuật toán băm SHA-256 trên code verifier để tạo ra một code challenge.

  3. Nếu khách hàng:

    • Là một khách hàng công khai, thay vì sử dụng bí mật khách hàng, nó gửi ID khách hàng và code challenge trong yêu cầu ủy quyền.

    • Là một khách hàng bí mật, nó thêm code challenge cùng với ID và bí mật khách hàng trong yêu cầu.

  4. Khách hàng gửi một yêu cầu ủy quyền đến máy chủ ủy quyền Roblox.

  5. Máy chủ ủy quyền xác thực danh tính của chủ sở hữu tài nguyên.

  6. Máy chủ ủy quyền nhận quyền truy cập cho các tài nguyên Roblox cụ thể từ chủ sở hữu tài nguyên.

  7. Máy chủ ủy quyền chuyển hướng chủ sở hữu tài nguyên trở lại khách hàng với một mã ủy quyền.

  8. Khách hàng bao gồm mã ủy quyền và code verifier ban đầu trong yêu cầu mã đến điểm cuối mã.

  9. Máy chủ ủy quyền xác thực mã ủy quyền và code verifier liên quan.

  10. Khách hàng nhận phản hồi từ điểm cuối mã chứa một mã truy cập, một mã ID, và một mã làm mới.

  11. Khách hàng truy xuất các tài nguyên được phép sau khi nhận mã truy cập.

Hỗ trợ OpenID Connect

Roblox sử dụng OpenID Connect (OIDC) như một tầng danh tính trên giao thức OAuth 2.0 để xác thực nhằm bảo vệ thông tin tài khoản nhạy cảm. OIDC cho phép các ứng dụng xác minh danh tính của người dùng và lấy thông tin hồ sơ công khai cơ bản của họ, chẳng hạn như ID người dùng, tên người dùng, tên hiển thị và liên kết hồ sơ.

Đăng ký và triển khai

Để triển khai một ứng dụng web hoặc di động sử dụng luồng mã ủy quyền, bạn cần:

  1. Đăng ký ứng dụng của bạn với Roblox. Điều này cho phép bạn lấy ID khách hàng và bí mật để đăng ký ứng dụng của bạn với Roblox và thực hiện các cuộc gọi đến các điểm cuối của bạn.

  2. Triển khai luồng mã ủy quyền. Để tham khảo đầy đủ về các điểm cuối OAuth 2.0 mà bạn cần gọi, hãy xem tài liệu Xác thực.

  3. Thực hiện quá trình xem xét để có thêm hạn mức người dùng.

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.