OAuth 2.0 概觀

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

您可以構建或授權使用開放雲端 API 存取 Roblox 資源的應用程式。開啟雲端使用 OAuth 2.0 為這些應用提供認證。

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

您可以安全地使用其他人創建的工具來提高創作生產力。OAuth 2.0 授權層允許您授予第三方應用程式訪問您或您的群組體驗的許可,而不需要提供您的資格憑據和個人資訊。您選擇您特定的 Roblox 資源的存取權限,Roblox 使用 OAuth 2.0 框架為您處理授權過程。

作為應用程式開發人員

您可以為自己和 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. 客戶端從包含使用權代碼、ID代碼和刷新代碼的代幣端點接收回應。

  7. 客戶端在取得存取代碼後擷取許可資源。

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

使用 PKCE 的授權碼流程

授權代碼流程的 PKCE擴展 幫助減少洩露授權代碼的風險,並防止跨站請求冒名領取 (CSRF),一種欺騙用戶提交不受意的網頁請求的攻擊。此流程完成授權過程的步驟如下:

  1. 客戶端會為每個授權邀請生成一個獨特且加密隨機的密鑰,稱為 代碼驗證器

  2. 客戶在代碼驗證器上執行SHA-256哈希算法來生成代碼挑戰

  3. 如果客戶端:

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

    • 是一個機密客戶,它將代碼挑戰與客戶ID和秘密一起添加到請邀請中。

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

  5. 授權伺服器驗證資源擁有者的身份。

  6. 授權服務器從資源擁有者那裡收到特定 Roblox 資源的存取權限。

  7. 授權伺服器將資源擁有者重新導向到客戶端,使用授權代碼。

  8. 客戶端包括授權代碼和原始代碼驗證器在 代幣端點 的代幣請求中。

  9. 授權伺服器驗證授權代碼和相關的代碼驗證器。

  10. 客戶端從包含使用權代碼、ID代碼和刷新代碼的代幣端點接收回應。

  11. 客戶端在取得存取代碼後擷取許可資源。

開啟ID連線支協助

Roblox 使用 OpenID Connect (OIDC) 作為身份層,在 OAuth 2.0 協議上方保護敏感帳戶信息的認證。OIDC允許應用程式驗證使用者身份並獲得基本公共個人檔案資訊,例如使用者ID、使用者名稱、顯示名稱和個人檔案鏈接。

註冊和實裝

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

  1. 註冊 您的應用程式與 Roblox。這讓您獲得客戶端ID和秘密,以註冊您的應用程式與 Roblox 並呼叫您的終端點。

  2. 實裝 授權碼流程。要完全參考你需要呼叫的 OAuth 2.0 終端點,請參見 認證 參考。

  3. 通過 審核過程 來獲得更多用戶額度。