OAuth 2.0 概述

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

您可以构建或授权使用开放云 API 访问 Roblox 资源的应用程序。开放云通过 OAuth 2.0 为这些应用程序提供身份验证。

作为游戏创建者或团队所有者

您可以安全地使用其他人创建的工具来提高您的创作效率。OAuth 2.0 授权层允许您授予第三方应用程序访问您或您团队的游戏的权限,而无需提供您的凭据和个人信息。您可以选择特定 Roblox 资源的访问权限,Roblox 将使用 OAuth 2.0 框架为您处理授权过程。

作为应用程序开发者

您可以为自己和 Roblox 社区中的其他人创建应用程序。 OAuth 2.0 定义了授权过程中的角色、角色之间如何互动的协议以及您需要遵循的授权流程,以开发安全且兼容的应用程序。

角色

开放云 OAuth 2.0 协议包含以下角色。在了解它们如何在授权流程中相互作用之前,了解具体角色是非常有用的。

  • 资源拥有者:能够授予访问受保护资源权限的实体。例如,允许第三方应用程序通过开放云 Web API 访问其 Roblox 资源的创建者。

  • 资源服务器:托管受保护资源并响应资源拥有者请求的 Roblox 服务。

  • 客户端:代表资源拥有者(在获得拥有者授权的情况下)访问受保护资源的应用程序。

  • 授权服务器:验证资源拥有者身份并向客户端签发访问令牌的 Roblox 服务器。

授权类型

授权流程或授权类型是角色在授权过程中执行的操作步骤。Roblox 支持 OAuth 2.0 授权代码流及其用作代码交换的证明密钥(PKCE)扩展,对于能够或不能够存储客户端机密的应用程序有不同的实现要求。

授权代码流

通过授权代码流,客户端交换授权代码以获得访问令牌和刷新令牌,从而完成授权过程,步骤如下:

  1. 客户端向 Roblox 授权服务器发送授权请求。

  2. 授权服务器验证资源拥有者的身份。

  3. 授权服务器从资源拥有者处接收访问特定 Roblox 资源的权限。

  4. 授权服务器将资源拥有者重定向回客户端,并附上授权代码。

  5. 客户端在令牌端点使用授权代码请求访问令牌。

  6. 客户端从令牌端点收到包含访问令牌、ID 令牌和刷新令牌的响应。

  7. 客户端在获得访问令牌后检索允许的资源。

下图描述了授权代码流中角色之间的交互,您将在后面的部分阅读到:

带有 PKCE 的授权代码流

授权代码流的 PKCE 扩展 有助于降低授权代码泄露的风险,并防止跨站请求伪造(CSRF)攻击,这是一种诱使用户提交意外网页请求的攻击。此流程通过以下步骤完成授权过程:

  1. 客户端为每个授权请求生成一个唯一且加密随机的密钥,称为 code verifier

  2. 客户端在 code verifier 上运行 SHA-256 哈希算法以生成 code challenge

  3. 如果客户端:

    • 是一个 公共客户端,则不使用客户端机密,而是在授权请求中传递客户端 ID 和 code challenge。

    • 是一个 机密客户端,则在请求中同时添加 code challenge、客户端 ID 和机密。

  4. 客户端向 Roblox 授权服务器发送授权请求。

  5. 授权服务器验证资源拥有者的身份。

  6. 授权服务器从资源拥有者处接收访问特定 Roblox 资源的权限。

  7. 授权服务器将资源拥有者重定向回客户端,并附上授权代码。

  8. 客户端在令牌请求中包括授权代码和原始的 code verifier,发往 令牌端点

  9. 授权服务器验证授权代码和关联的 code verifier。

  10. 客户端从令牌端点收到包含访问令牌、ID 令牌和刷新令牌的响应。

  11. 客户端在获得访问令牌后检索允许的资源。

OpenID 连接支持

Roblox 使用 OpenID Connect (OIDC) 作为在 OAuth 2.0 协议之上的身份层,以保护敏感账户信息。OIDC 允许应用程序验证用户的身份并获取他们的基本公共个人资料信息,例如用户 ID、用户名、显示名称和个人资料链接。

注册和实施

为实现使用授权代码流的网页或移动应用程序,您需要:

  1. 注册 您的应用程序与 Roblox。 这将使您获得客户端 ID 和机密,以便将您的应用注册到 Roblox 并调用您的端点。

  2. 实施 授权代码流。有关您需要调用的 OAuth 2.0 端点的完整参考,请查阅 身份验证 参考。

  3. 经过 审核过程 以获得更多用户配额。

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。