選擇驗證方式

Endpoints Frameworks 支援多種適合不同應用程式和用途的驗證方法。Endpoints Frameworks 採用您在修飾符指定的驗證方法驗證傳入要求,然後再將其傳送至 API 後端。本文針對每種支援的驗證方法提供總覽及用途範例。

API 金鑰

API 金鑰是一種簡易加密字串,用於識別 Google Cloud Platform (GCP) 專案的配額、帳務以及監控等功能。開發人員會在 GCP 主控台的專案中產生 API 金鑰,然後將該金鑰以查詢參數的形式,嵌入在對 API 發出的每一個呼叫中。

若您在修飾符指定 API 金鑰需求,Endpoints Frameworks 會使用 API 金鑰查詢與該 API 金鑰有關的 GCP 專案。除非 API 金鑰是在 GCP 專案或啟用您 API 的其他 GCP 專案產生,否則 Endpoints Frameworks 會拒絕要求。如需詳細資訊,請參閱透過 API 金鑰限制 API 存取權

有別於使用短期憑證或簽署要求,且於要求標頭之中傳送的憑證,用戶端會將 API 金鑰以查詢參數傳送。即使查詢參數在 HTTPS 之中加密,API 金鑰並不安全。例如部分伺服器可能將每項要求的完整網址,以純文字儲存於伺服器記錄檔。基於安全考量,API 呼叫包含使用者資料時,請勿單獨使用 API 金鑰。除以下驗證方法外,API 金鑰還有其他用途。

如需維護 API 金鑰安全及新增限制的最佳做法,請參閱使用 API 金鑰。雖然「使用 API 金鑰」的目標為使用 Google API 的用戶端,但其中的最佳做法也適用於您以 Endpoints Frameworks 建立的 API。

應用實例

如果您要使用 Endpoints 功能 (例如配額),則每個要求都必須傳入 API 金鑰,以便 Endpoints 能夠辨識與用戶端應用程式相關聯的 GCP 專案。

如需進一步瞭解 API 金鑰,請參閱使用 API 金鑰的時機與理由

Firebase 驗證

Firebase 驗證提供後端服務、SDK,以及驗證行動或網路應用程式使用者的程式庫。此種驗證方式會使用 Google、Facebook、Twitter 或 GitHub 等各種憑證驗證使用者身分。

使用者登入成功後,Firebase 用戶端程式庫會簽署含不公開金鑰的 JSON Web Token (JWT)。Endpoints Frameworks 會驗證 JWT 是由 Firebase 簽署,且 JWT 中的「iss」(核發單位) 憑證附加資訊 (用於辨別您的 Firebase 應用程式) 與修飾符 issuer 設定相符。

應用實例

由於 Firebase 驗證與其他 Firebase 服務緊密整合,因此非常適合使用 Firebase 的行動或網路應用程式。請參閱以 Firebase 驗證進行驗證

Auth0

Auth0 會驗證並授權應用程式和 API,不分識別資訊提供者、平台、堆疊以及裝置。

Auth0 支援許多提供者及安全宣告標記語言規範。其中提供後端服務、SDK,以及使用者介面程式庫,可用於驗證網路和行動應用程式使用者。Auth0 整合數個第三方識別資訊提供者,也提供自訂使用者帳戶管理功能。

Auth0 提供的用戶端程式庫會在使用者登入後產生並簽署 JWT。Endpoints Frameworks 會驗證 JWT 是由 Auth0 簽署的,且 JWT 中的「iss」憑證附加資訊 (用於辨別您的 Auth0 應用程式) 與修飾符的 issuer 設定相符。

應用實例

Auth0 適用於消費者與企業網站及行動應用程式,詳情請參閱以 Auth0 進行驗證

Google ID 憑證驗證

Google ID 驗證進行驗證,可讓使用者以登入 Google 帳戶方式進行驗證。驗證完畢後,使用者即可存取所有 Google 服務。您可使用 Google ID 憑證呼叫 Google API,以及您使用 Endpoints Frameworks 實作的 API。Endpoints Frameworks 使用公開金鑰驗證 Google ID 憑證,並確保 JWT 之中的「iss」憑證附加資訊為 https://accounts.google.comaccounts.google.com

應用實例

若所有使用者都有 Google 帳戶,建議使用 Google ID 憑證進行驗證。例如,若您的 API 範圍包含 G Suite 應用程式 (例如 Google Drive 隨附應用程式),您可以選擇使用 Google ID 憑證驗證方式。Google ID 憑證驗證方式可讓使用者以登入 Google 帳戶方式進行驗證。驗證完畢後,使用者即可存取所有 Google 服務。

詳情請參閱以 Google ID 憑證進行驗證

JWT 和服務帳戶

JSON Web Token (JWT) 常用於在連線應用程式之間共用憑證附加資訊或宣告。代表服務帳戶的 JWT 可由下列項目簽署:

  • 服務帳戶。

  • Google 的授權服務 (由 Google 授權服務簽署的 JWT 稱為 Google ID 憑證)。

使用服務帳戶簽署的 JWT 驗證要求,實作起來也許較容易,但若您有許多服務帳戶,或者想要接受非您所有之服務帳戶的憑證,則建議使用 Google ID 憑證,因為您只需要將 https://accounts.google.comaccounts.google.com 加入所有服務帳戶核發單位的許可清單即可。

應用實例

JWT 和服務帳戶非常適合用於微服務。詳情請參閱使用服務帳戶進行驗證

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
App Engine 適用的 Cloud Endpoints Frameworks
需要協助嗎?請前往我們的支援網頁