OAuth 2.0 總覽

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

您可以建立或授權使用 Open Cloud API 存取 Roblox 資源的應用程序。 Open Cloud 提供 OAuth 2.0 對這些應用程序的身份認證。

作為體驗創作者或群組所有者

您可以安全地使用其他人創建的工具來提高您的創作生產力。 OAuth 2.0 授權層允許您向第三方應用程序授權使用您或您的群組的體驗,而不需要提供您的帳號和個人資訊。 您選擇特定 Roblox 資源的使用權限,並且 Roblox 處理專用 OAuth 2.0 框架來處理授權過程。

作為一個 app 開發者 >

您可以為自己和其他人在 Roblox 社群中創建應用程序。OAuth 2.0 定義了與身份驗證過程中涉及的角色、傳輸程序的程序對程序交互方式以及開發安全且兼容應用程序所需的授權流程。

角色

開放雲 OAuth 2.0 個人認證程式設有以下角色。 建議您先了解特定角色,再來學習它們如何在授權流程中互相交互。

  • 資源擁有者 : 可以授權保護資源的存取的個體。例如,允許第三方應用程序透過開放雲端網路 API 存取 Roblox 資源的創作者。

  • 資源伺服器 : 資源伺服器是 Roblox 的服務,負責保護資源,並且回應資源所有者的請求。

  • 客戶端 :一個資源擁有者代表資源所有者存取保護資源的應用程式。

  • 授權伺服器 : Roblox 伺服器,讓資源所有者的身份驗證,並發行存取代幣給客戶。

授權類型

授權流程或授權類型是角色在授權過程中執行的步驟。Roblox 支持 OAuth 2.0 授權代碼流程和其 Proof Key for Code Exchange (PKCE) 延伸,以及能夠或不能儲存客戶端秘密的應用程式的不同實現需求。

授權代碼流程

通過授權代碼流程,客戶將授權代碼交換為存取代幣和重新整理代幣來完成授權過程在下一步:

  1. 客戶端向 Roblox 授權服務伺服器傳送授權請求。

  2. 授權服務器確認資源所有者的身份。

  3. 授權服務器接受資源所有者的授權,以存取特定 Roblox 資源。

  4. 授權服務器會將資源所有者重新導航到客戶端,並使用授權代碼將資源資源提供給客戶。

  5. 客戶端使用代幣端點的授權代碼要求使用權限代幣。

  6. 客戶端從包含存取代幣、身份代幣和重新整理代幣的代幣端點收到回應。

  7. 客戶端會在獲得資源權限後取得資源。

下圖描述您在下一個部分閱讀的授權代碼流程中的角色之間的互動:

與 PKCE 合流授權碼流程

作者權限代碼流程的授權代碼擴展幫助減少授權代碼泄漏的風險並防止竊取網站間請求伪造 (CSRF),這是一種攻擊,讓用戶提交不意圖的網頁請求。這個流程完成授權過程的 следующие步驟:

  1. 客戶生成一個獨特的雙方認證密碼為 代碼驗證器 對每個授權邀請。

  2. 客戶端在程式碼檢查器上執行 SHA-256 哈希算法,生成 程式碼挑戰

  3. 如果客戶:

    • 是公共客戶端,而不是使用客戶端秘密,它在授權邀請求中傳輸客戶端 ID 和代碼挑戰。

    • 是一個 私密客戶,它會在請邀請中添加代碼挑戰以及客戶端ID和秘密。

  4. 客戶端向 Roblox 授權服務伺服器傳送授權請求。

  5. 授權服務器確認資源所有者的身份。

  6. 授權服務器接受資源所有者的授權,以存取特定 Roblox 資源。

  7. 授權服務器會將資源所有者重新導航到客戶端,並使用授權代碼將資源資源提供給客戶。

  8. 客戶包含授權代碼和原始代碼驗證器在代幣請求到代幣端口

  9. 授權服務器驗證授權碼和對應的代碼驗證器。

  10. 客戶端從包含存取代幣、身份代幣和重新整理代幣的代幣端點收到回應。

  11. 客戶端會在獲得資源權限後取得資源。

OpenID 連接支援

Roblox 使用 OpenID Connect (OIDC) 作為身份層在 OAuth 2.0 個程序上的身份保護機制,以保護敏感帳戶資訊。 OIDC 允許應用程序檢查用戶的身份並獲取其基本公開個人資訊,例如用戶ID、用戶名、顯示名稱和帳號連結。

註冊和實現

要實現使用授權代碼流程的網站或移動應用程序,您需要:

  1. 實現 授權代碼流程。對於您需要呼叫的 OAuth 2.0 端點的完整引用,請參閱 驗證 引用。

  2. 通過評審過程獲得更多用戶權限。