您可以構建或授權使用 Open Cloud API 訪問 Roblox 資源的應用程式。Open Cloud 使用 OAuth 2.0 為這些應用程式提供身份驗證。
- 作為遊戲創作者或群組擁有者
您可以安全地使用其他人創建的工具來提高您的創作生產力。OAuth 2.0 授權層允許您授予第三方應用程式訪問您或您群組的遊戲的許可,而無需將您的憑證和個人信息提供給它們。您可以選擇對您特定 Roblox 資源的訪問權限,Roblox 將通過 OAuth 2.0 框架為您處理授權過程。
- 作為應用程式開發者
您可以為自己和 Roblox 社區中的其他人創建應用程式。OAuth 2.0 定義了參與授權過程的角色、角色之間的交互協議以及您需要遵循的授權流程,以開發安全且兼容的應用程式。
角色
Open Cloud OAuth 2.0 協議有以下角色。在學習角色之間如何在授權流程中交互之前,了解具體角色很有用。
資源擁有者:能夠授予對受保護資源訪問權限的實體。例如,允許第三方應用程式通過 Open Cloud Web API 訪問其 Roblox 資源的創作者。
資源伺服器:一個 Roblox 服務,主機受保護的資源並響應資源擁有者的請求。
客戶端:代表資源擁有者(經過擁有者授權)訪問受保護資源的應用程式。
授權伺服器:驗證資源擁有者身份並向客戶端發放訪問令牌的 Roblox 伺服器。
授權類型
授權流程或授權類型是在授權過程中角色執行的一系列動作。Roblox 支持 OAuth 2.0 授權碼流程及其用於代碼交換的證明鍵(PKCE)擴展,根據應用程式是否能夠儲存客戶端秘密有不同的實施要求。
授權碼流程
通過授權碼流程,客戶端用授權碼交換訪問令牌和刷新令牌,以完成授權過程,步驟如下:
客戶端向 Roblox 授權伺服器發送授權請求。
授權伺服器驗證資源擁有者的身份。
授權伺服器從資源擁有者那裡獲取訪問特定 Roblox 資源的許可。
授權伺服器將資源擁有者重定向回客戶端,並帶有授權碼。
客戶端在令牌端點使用授權碼請求訪問令牌。
客戶端從令牌端點接收回應,其中包含訪問令牌、ID 令牌和刷新令牌。
客戶端在獲得訪問令牌後檢索允許的資源。
下圖描述了在接下來的部分中您將閱讀的授權碼流程中角色之間的互動:

帶有 PKCE 的授權碼流程
PKCE 擴展的授權碼流程有助於減少授權碼泄露的風險並防止跨站請求偽造(CSRF)攻擊,這是一種使用户提交未預期的網頁請求的攻擊。這個流程通過以下步驟完成授權過程:
客戶端為每個授權請求生成一個唯一且加密隨機的鍵,稱為 代碼驗證器。
客戶端對代碼驗證器執行 SHA-256 哈希算法以生成 代碼挑戰。
客戶端向 Roblox 授權伺服器發送授權請求。
授權伺服器驗證資源擁有者的身份。
授權伺服器從資源擁有者那裡獲取訪問特定 Roblox 資源的許可。
授權伺服器將資源擁有者重定向回客戶端,並帶有授權碼。
客戶端在令牌請求中將授權碼和原始代碼驗證器包含到 令牌端點。
授權伺服器驗證授權碼和相關的代碼驗證器。
客戶端從令牌端點接收回應,其中包含訪問令牌、ID 令牌和刷新令牌。
客戶端在獲得訪問令牌後檢索允許的資源。
OpenID Connect 支持
Roblox 使用 OpenID Connect (OIDC) 作為 OAuth 2.0 協議之上的身份層,以保護敏感的帳戶信息。OIDC 允許應用程序驗證用戶的身份並獲取其基本公共個人資料信息,例如用戶 ID、用戶名、顯示名稱和個人資料連結。
註冊和實施
要實施使用授權碼流程的網頁或移動應用程式,您需要: