網站授權

網路應用程式必須取得存取權杖,才能安全地呼叫 Google API。

Google Identity Services JavaScript 程式庫支援使用者登入和授權驗證,以取得與 Google API 搭配使用的存取憑證。這個程式庫僅供瀏覽器使用。

驗證機制能建立使用者的身分,通常稱為使用者註冊或登入。授權是指授予或拒絕資料或資源存取權的程序。其中包括取得並管理使用者同意聲明、限制與範圍共用的資料量或資源,以及擷取要用於 Google API 的存取憑證。

這些指南涵蓋授權和資料共用相關主題。

使用者授權的運作方式詳細說明使用者授權的個別步驟,並提供使用者對話方塊範例。

如果您在驗證方面的協助和實作使用者申請和登入的方式,請參閱使用 Google 帳戶登入說明。

這個程式庫不適合與 Node.js 等伺服器端 JavaScript 架構搭配使用,請改用 Google 的 Node.js 用戶端程式庫。

異動內容

與舊版 JavaScript 程式庫相比,Google Identity 服務程式庫可為使用者帶來許多可用性改善,包括:

  • 使用者登入和授權取得存取 Google API 的存取憑證,現在有兩個不同的使用者流程:登入同意聲明,在授權期間提供不同的使用者流程,以明確區分您的身分以及應用程式的用途。
  • 改善使用者同意聲明期間的資料共用方式,並精確控管資料分享行為。
  • 以瀏覽器為基礎的彈出式對話方塊,可減少使用障礙,而且使用者不必離開您的網站也能執行下列操作:
    • 向 Google 取得存取權杖
    • 將授權碼傳送至您的後端平台。

對開發人員來說,我們的重點在於降低複雜度、改善安全性,並盡可能簡化整合作業的速度。部分變更如下:

  • 使用者登入驗證和用來取得呼叫 Google API 存取權杖的授權,是兩組不同且不同的 JavaScript 物件組合及方法。這樣可以減少實作驗證或授權所需的複雜度和細節。
  • 單一 JavaScript 程式庫現在支援以下兩項功能:
    • OAuth 2.0 隱含流程,用於取得在瀏覽器中使用的存取權仗
    • OAuth 2.0 授權碼流程 (又稱為離線存取) 會開始將授權碼安全地傳送至後端平台,該平台可交換存取存取權杖和更新權杖。之前,只有使用多個程式庫以及直接呼叫 OAuth 2.0 端點,才能使用這些流程。單一程式庫可減少整合時間和精力,不必包含並學習多個程式庫和 OAuth 2.0 概念,而您可以集中使用單一整合式介面。
  • 為求簡潔易讀,我們移除了使用 getter 樣式函式的指令。
  • 在處理授權回應時,您可以選擇是否使用承諾來完成要求,而非為您做出的決定。
  • JavaScript 專用的 Google API 用戶端程式庫已經更新,包括:
    • 系統不再自動在背景載入 gapi.auth2 模組與相關聯的物件和方法,並由更明確的 Google Identity 服務程式庫物件及方法取代。
    • 已移除過期的存取權杖自動重新整理,以提升使用者的安全性和知名度。存取權杖到期後,您的應用程式必須處理 Google API 錯誤回應、要求,以及取得新的有效存取權杖。
    • 為支援清楚區分驗證和授權時刻,系統不再支援使用者同時登入應用程式和 Google 帳戶,同時核發存取權杖。在此之前,要求存取憑證也會將使用者登入 Google 帳戶,並傳回使用者驗證所需的 JWT ID 憑證憑證。
  • 為了提升使用者的安全性和隱私權,每個核發授權的使用者憑證都會遵循最低權限原則,僅包含存取憑證和管理憑證所需的資訊。