第 2 部分:產生並測試 API 金鑰

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

重構並重新導向至 需要 API 金鑰

開發人員建構了一個應用程式,向您的 API 發出要求, 存取您的後端服務如要控管 API 存取權,您可以要求開發人員執行以下動作: 則每次要求都會傳遞 API 金鑰如果金鑰遺失或無效,要求就會失敗。

發布是指將您的 API 提供給應用程式開發人員, 提高用量上限您可以利用下列工作大範圍定義發布 API:

  1. 在 Apigee Edge 中建立用來整合 API 的 API 產品。
  2. 在 Edge 上註冊應用程式開發人員。只有已註冊的應用程式開發人員才能註冊應用程式。
  3. 開發人員會在 Edge 上註冊應用程式,以便使用 API 產品。為此,開發人員 會收到 API 金鑰開發人員擁有 API 金鑰後,可以向 相互整合

詳情請參閱簡介 發布

下表定義了用於註冊應用程式及產生金鑰的一些詞彙:

字詞 定義
API 產品 API Proxy 套裝組合,以及提供存取權限制的服務方案 這些 APIAPI 產品是 Apigee Edge 用於授權的中央機制 並控管 API 的存取權
開發人員 API 消費者。開發人員編寫的應用程式,向您的 API 發出要求。
應用程式 開發人員註冊以存取 API 產品的用戶端應用程式。註冊 應用程式產生 API 金鑰,以供存取該產品中的 API。
API 金鑰 包含授權資訊的字串,可供用戶端應用程式存取 會監控 API 產品所公開的資源只要註冊的應用程式符合以下條件,系統就會產生 API 金鑰 與 API 產品相關聯

本教學課程的必備條件

本教學課程假設您已完成第一個教學課程,也就是建立 API 來存取 YahooWeather API。如果您尚未完成第一個教學課程,請參閱 保護 要求 API 金鑰

步驟 1:建立 API 產品

  1. 在管理 UI 中,按一下「發布」分頁標籤,然後 產品
  2. 按一下「(+) 產品」
  3. 在「新增產品」對話方塊欄位中輸入或選取下列內容:
    欄位
    名稱 免費 API 產品
    顯示名稱 免費 API 產品
    說明 免費 API 產品
    環境 測試
    存取 僅供內部使用
    金鑰核准類型 自動
    (API 金鑰產生後會自動核准)
    配額 每小時 10 個要求
    (將要求數限制為每小時 10 次)
    允許的 OAuth 範圍 留空

    填入的對話方塊看起來會像這樣:

  4. 在「資源」部分,選擇下列其中一個選項:
    • API Proxyweatherapikey
    • 修訂版本:1
    • 資源路徑:/forecastrss**

      「Resource Path」會指定產品允許的資源 URI 也就是可存取的應用程式在此範例中,應用程式只能存取 /forecastrss 透過此 API 產品在 weatherapikey Proxy 上存取資源。嘗試使用 API 產品,用於存取 weatherapiproxy Proxy 上或在 禁止使用任何其他 Proxy。

      「資源路徑」可使用萬用字元。萬用字元「/**」 表示包含所有子 URI,表示表單中的資源 /forecastrss/foo/bar.萬用字元「/」表示只有下一層的 URI 包含。請參閱建立 API 產品

      請注意,「Resource Path」下拉式清單會顯示所有條件 指定 API Proxy 中定義的流程API Proxy 的條件式流程會定義 邏輯或處理步驟API 產品控制項存取權 至這些資源路徑
  5. 按一下「匯入資源」。隨即會新增資源路徑,然後 weatherapikey API Proxy 會自動新增至 API Proxy 產品專區。
  6. 按一下 [儲存]。您的新產品會顯示在「產品」頁面上。

瞭解詳情:

步驟 2:註冊開發人員

如要產生 API 金鑰,您需要註冊應用程式,並將應用程式與 API 產品建立關聯。不過, 必須先註冊應用程式開發人員,才能註冊應用程式。

  1. 在管理 UI 中,按一下「發布」分頁標籤,然後 開發人員
  2. 按一下「(+) 開發人員」
  3. 在「New Developer」對話方塊中輸入以下的值:
    • 名字Jane
    • 姓氏教學課程
    • 電子郵件地址janetutorial@example.com
    • 使用者名稱jtutorial
  4. 按一下 [儲存]。新的開發人員會顯示在 開發人員頁面。

瞭解詳情:

步驟 3:註冊應用程式

您已擁有 API 產品和開發人員,現在可以使用 API 註冊應用程式了 產品。註冊應用程式後,系統會為與應用程式相關聯的 API 產品產生 API 金鑰。 接著,您可以將金鑰發布給應用程式開發人員,讓他們能存取 API 中的功能 應用程式。

  1. 在 API 平台使用者介面中,依序按一下發布開發人員 應用程式
  2. 按一下「(+) 開發人員應用程式」
  3. 在「Add an App」對話方塊中輸入以下值:
    • 顯示名稱Weather API 金鑰應用程式
    • 開發人員Jane 教學課程 (janetutorial@example.com)
    • Callback URL (回呼網址):留空
  4. 將應用程式與產品建立關聯:
    1. 在「產品」部分中,按一下「+ 產品」
    2. 選取「免費 API 產品」
    3. 按一下「勾號」圖示來接受變更。
  5. 按一下「儲存」。新的應用程式會顯示在開發人員的應用程式清單中 「應用程式」頁面。
  6. 選取「Weather API 金鑰應用程式」。 。系統隨即會開啟該應用程式的詳細資料頁面。
  7. 由於您在建立 API 時選取「金鑰核准類型:自動」 產品,系統就會自動核准 API 金鑰,你可以立即查看。(如果您在 已選取 [核准狀態:手動],您就必須按一下 在 Free API 產品的動作欄中「核准」以核准 API key.)
  8. 在「產品」部分的「免費 API 產品」項目旁邊按一下 在「用戶端金鑰」和「用戶端密鑰」顯示 資料欄來顯示產生的鍵。

    用戶端金鑰是 API 金鑰的另一個名稱,是應用程式所需的唯一金鑰 存取預測資源 經由您的 API Proxy 存取。需要 Consumer Secret (和用戶端金鑰) 透過 OAuth 2.0 保護 API 的安全。請參閱「OAuth 2.0: 設定新的 API Proxy

瞭解詳情:

步驟 4:在要求中使用 API 金鑰

為確保 VerifyAPIKey 政策能正常運作,您需要進行測試,方法是在 對 API Proxy 呼叫使用有效的 API 金鑰。您可以在瀏覽器中要求 API Proxy API Proxy 的追蹤頁面,來源為 Apigee 主控台,或使用 cURL。要要求的網址位於 表單:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

請將 {org-name} 和正確的 apikey替換成 Apigee 機構名稱

請在回應中尋找下列內容:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

如果您在要求中省略 API 金鑰,或指定 金鑰值無效,您會收到以下格式的錯誤回應:

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

步驟 5:接下來該怎麼做?

現在,您已經使用查詢參數傳遞 API 金鑰來向 API 發出要求, 修改 API,將金鑰做為標頭傳遞。

接著繼續保護 API,做法如下: 需要 API 金鑰