遵守 OAuth 2.0 政策

當您準備好在開發環境之外,將實作的解決方案部署到應用程式的使用者時,您可能必須採取額外步驟以遵守 Google 的 OAuth 2.0 政策。本指南將概略說明如何遵循開發人員在準備應用程式正式版時,最常遇到的問題。這樣一來,您就能觸及盡可能多的目標對象,且錯誤率較低。

針對測試和正式環境使用不同的專案

Google 的 OAuth 政策要求您為測試和實際工作環境建立不同的專案。部分政策和規定僅適用於正式版應用程式。您可能需要建立及設定獨立的專案,其中包含與應用程式正式版相對應的 OAuth 用戶端,以便供所有 Google 帳戶使用。

在實際運作環境中使用的 Google OAuth 用戶端,比起測試或偵錯相同應用程式的類似 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 Cloud 機構管理員必須確保機構中的每個專案都與可聯絡的聯絡人相關聯。如果我們沒有您專案的最新聯絡資訊,您可能會錯過需要您採取行動的重要訊息。

如實反映您的身分

提供有效的應用程式名稱,並視需要提供要向使用者顯示的標誌。這項品牌資訊必須如實代表應用程式的身分。應用程式品牌資訊可透過 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。使用與 API Console 專案相關聯的 Google 帳戶,以擁有者或編輯者的身分登入。

如果您的專案使用了提供者提供的共用網域,建議您啟用可使用自有網域的設定。部分供應商會將服務對應至您已擁有的網域子網域。

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

每個使用 OAuth 2.0 的正式版應用程式都必須有可供大眾存取的主畫面。應用程式的潛在使用者可能會造訪首頁,進一步瞭解應用程式提供的功能。現有使用者可能會查看現有補助項目清單,並造訪應用程式的首頁,提醒自己繼續使用您的產品/服務。

應用程式的首頁必須包含應用程式功能的說明,以及隱私權政策和選用的服務條款連結。首頁必須位於您擁有的已驗證網域中。

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

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

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

後續步驟

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