遵守 OAuth 2.0 政策

準備好將實作的解決方案部署至應用程式使用者之後,可能需要採取額外的步驟,以遵守 Google 的 OAuth 2.0 政策。在本指南中,我們說明瞭您在準備正式版應用程式時,如何遵循最常見的開發人員問題。這樣您就能盡可能觸及最多目標對象,並減少錯誤。

使用不同的專案進行測試和正式環境

Google 的 OAuth 政策需要個別的測試和實際工作環境專案。部分政策和要求僅適用於正式版應用程式。您可能需要建立及設定獨立的專案,其中包含的 OAuth 用戶端,會對應至所有 Google 帳戶都能使用的正式版應用程式。

相較於對同一應用程式測試或偵錯的類似 OAuth 用戶端,實際工作環境中使用的 Google OAuth 用戶端可提供更穩定、可預測且安全的資料收集與儲存環境。實際工作環境專案可以提交進行驗證,因此須符合特定 API 範圍的其他規定,其中可能包括第三方安全性評估。

  1. Go to the Google API Console. Click Create project, enter a name, and click Create.
  2. 查看這項專案中可能與測試級別相關聯的 OAuth 用戶端。在適用情況下,為實際工作環境專案中的實際工作環境用戶端建立類似的 OAuth 用戶端。
  3. 啟用所有用於用戶端的 API
  4. 請查看新專案中的 OAuth 同意畫面設定。

正式環境中使用的 Google OAuth 用戶端不得包含您或開發團隊可用的測試環境、重新導向 URI 或 JavaScript 來源。以下列舉幾個例子:

  • 個別開發人員的測試伺服器
  • 測試應用程式或預先發布版

維護專案相關聯絡人清單

Google 和啟用的個別 API 可能會與您聯絡,說明服務有異動,或是專案及其用戶端需要的新設定。請查看專案的 IAM 清單,確保團隊中的相關人員有權編輯或查看專案設定。這些帳戶也可能會收到有關專案必要變更的電子郵件。

角色包含一組權限,可讓您對專案資源執行特定動作。專案編輯者有權修改狀態,例如變更專案的 OAuth 同意畫面。專案擁有者如果具備所有編輯者權限,就可以新增或移除與專案相關聯的帳戶,或者刪除專案。專案擁有者也能提供背景資訊,說明為何設定帳單資訊。專案擁有者可為使用付費 API 的專案設定帳單資訊。

專案擁有者和編輯者都必須更新至最新版本。您可以在專案中加入多個相關帳戶,確保能持續存取專案和相關維護作業。當 Google 服務收到您的專案通知或最新消息時,我們會傳送電子郵件給這些帳戶。Google Cloud 機構管理員必須確保可聯繫的聯絡人與機構中的各項專案相關聯。如果 Google 還沒有專案最新的聯絡資訊,您可能會錯失需要您採取行動的重要訊息。

如實反映你的身分

提供有效的應用程式名稱,並視需要向使用者顯示標誌。這項品牌資訊必須準確反映應用程式的身分。應用程式品牌資訊是透過 OAuth Consent Screen page設定。

在正式版應用程式中,OAuth 同意畫面中定義的品牌資訊必須先通過驗證,才會向使用者顯示。使用者完成品牌驗證後,更有可能授予應用程式存取權。基本應用程式資訊 (包括應用程式的名稱、首頁、服務條款和隱私權政策) 會在使用者授權畫面上、使用者審查現有的授權項目,或向機構審查應用程式使用情況的 Google Workspace 管理員顯示。

如果應用程式謊報身分或企圖欺騙使用者,Google 可以撤銷或暫停該應用程式對 Google API 服務和其他 Google 產品和服務的存取權。

只選取您需要的要求範圍

在應用程式的開發過程中,您可能使用了 API 提供的範例範圍,在應用程式中建立概念驗證,以便進一步瞭解 API 的功能。這些範例範圍通常會要求更多資訊,而非應用程式所需的最終實作項目,因為這類範圍可涵蓋特定 API 的所有可能動作。舉例來說,當應用程式只需要讀取權限時,範例範圍可能會要求讀取、寫入及刪除權限。要求相關權限,僅限於執行應用程式所需的重要資訊。

請參閱應用程式呼叫的 API 端點參考說明文件,並記下存取應用程式所需相關資料所需的範圍。請參閱 API 提供的任何授權指南,並詳細說明這些範圍,納入最常使用的使用情形。為應用程式執行相關功能時,最低限度的資料存取權。

如要進一步瞭解這項規定,請參閱 OAuth 2.0 政策的「僅需要要求範圍」一節,以及 Google API 服務使用者資料政策的「要求相關權限」一節。

提交使用敏感或受限制範圍的正式版應用程式進行驗證

部分範圍屬於「敏感」或「受限制」,無法在未經審查的情況下使用正式版應用程式。在 OAuth 同意畫面設定中輸入正式版應用程式使用的所有範圍。如果正式版應用程式使用敏感或受限制範圍,您必須先提交這些範圍的用途進行驗證,然後在授權要求中加入這些範圍。

僅使用您擁有的網域

根據 Google 的 OAuth 同意畫面驗證程序,您必須驗證與專案首頁、隱私權政策、服務條款、授權的重新導向 URI 或授權 JavaScript 來源相關的所有網域。查看應用程式使用的網域清單、OAuth 同意畫面編輯器的「已授權網域」部分摘要資訊,並指出任何非您所有且因此無法驗證的網域。如要驗證專案的授權網域擁有權,請使用 Google Search Console。請使用與專案相關聯的 Google 帳戶 API Console 做為「擁有者」或「編輯者」。

如果專案使用共用網域的服務供應商,建議您啟用相關設定,允許對方使用自有網域。有些供應商會提供他們服務,對應至您現有網域的子網域。

代管正式版應用程式的首頁

每個使用 OAuth 2.0 的正式版應用程式都必須擁有可公開存取的首頁。應用程式的潛在使用者可能會造訪首頁,進一步瞭解應用程式提供的功能。現有使用者可能會查看現有的補助清單,並造訪應用程式首頁,提醒他們繼續使用您的產品或服務。

應用程式首頁必須包含應用程式功能說明、隱私權政策連結和選用服務條款。首頁必須存在於你擁有權的已驗證網域。

使用安全的重新導向 URI 和 JavaScript 來源

網頁應用程式的 OAuth 2.0 用戶端必須使用 HTTPS 重新導向 URI 和 JavaScript 來源 (而非純 HTTP) 來保護資料。Google 可以拒絕不會源自或解析為安全內容的 OAuth 要求。

考慮哪些第三方應用程式和指令碼可以存取返回您網頁的權杖和其他使用者憑證。利用重新導向 URI 位置,限制機密資料的存取權,僅限驗證及儲存權杖資料。

後續步驟

確認應用程式符合本頁的 OAuth 2.0 政策後,請參閱「提交品牌驗證」一文,進一步瞭解驗證程序。