查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
重構並重新導向至 需要 API 金鑰。
開發人員建構了一個應用程式,向您的 API 發出要求, 存取您的後端服務如要控管 API 存取權,您可以要求開發人員執行以下動作: 則每次要求都會傳遞 API 金鑰如果金鑰遺失或無效,要求就會失敗。
發布是指將您的 API 提供給應用程式開發人員, 提高用量上限您可以利用下列工作大範圍定義發布 API:
- 在 Apigee Edge 中建立用來整合 API 的 API 產品。
- 在 Edge 上註冊應用程式開發人員。只有已註冊的應用程式開發人員才能註冊應用程式。
- 開發人員會在 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 產品
- 在管理 UI 中,按一下「發布」分頁標籤,然後 產品:
- 按一下「(+) 產品」。
- 在「新增產品」對話方塊欄位中輸入或選取下列內容:
欄位 值 名稱 免費 API 產品 顯示名稱 免費 API 產品 說明 免費 API 產品 環境 測試 存取 僅供內部使用 金鑰核准類型 自動
(API 金鑰產生後會自動核准)配額 每小時 10 個要求
(將要求數限制為每小時 10 次)允許的 OAuth 範圍 留空 填入的對話方塊看起來會像這樣:
- 在「資源」部分,選擇下列其中一個選項:
- API Proxy:weatherapikey
- 修訂版本: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 產品控制項存取權 至這些資源路徑
- 按一下「匯入資源」。隨即會新增資源路徑,然後 weatherapikey API Proxy 會自動新增至 API Proxy 產品專區。
- 按一下 [儲存]。您的新產品會顯示在「產品」頁面上。
瞭解詳情:
步驟 2:註冊開發人員
如要產生 API 金鑰,您需要註冊應用程式,並將應用程式與 API 產品建立關聯。不過, 必須先註冊應用程式開發人員,才能註冊應用程式。
- 在管理 UI 中,按一下「發布」分頁標籤,然後 開發人員。
- 按一下「(+) 開發人員」。
- 在「New Developer」對話方塊中輸入以下的值:
- 名字:Jane
- 姓氏:教學課程
- 電子郵件地址:janetutorial@example.com
- 使用者名稱:jtutorial
- 按一下 [儲存]。新的開發人員會顯示在 開發人員頁面。
瞭解詳情:
步驟 3:註冊應用程式
您已擁有 API 產品和開發人員,現在可以使用 API 註冊應用程式了 產品。註冊應用程式後,系統會為與應用程式相關聯的 API 產品產生 API 金鑰。 接著,您可以將金鑰發布給應用程式開發人員,讓他們能存取 API 中的功能 應用程式。
- 在 API 平台使用者介面中,依序按一下發布和開發人員 應用程式:
- 按一下「(+) 開發人員應用程式」。
- 在「Add an App」對話方塊中輸入以下值:
- 顯示名稱:Weather API 金鑰應用程式
- 開發人員:Jane 教學課程 (janetutorial@example.com)
- Callback URL (回呼網址):留空
- 將應用程式與產品建立關聯:
- 在「產品」部分中,按一下「+ 產品」。
- 選取「免費 API 產品」。
- 按一下「勾號」圖示來接受變更。
- 按一下「儲存」。新的應用程式會顯示在開發人員的應用程式清單中 「應用程式」頁面。
- 選取「Weather API 金鑰應用程式」。 。系統隨即會開啟該應用程式的詳細資料頁面。
- 由於您在建立 API 時選取「金鑰核准類型:自動」 產品,系統就會自動核准 API 金鑰,你可以立即查看。(如果您在 已選取 [核准狀態:手動],您就必須按一下 在 Free API 產品的動作欄中「核准」以核准 API key.)
- 在「產品」部分的「免費 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 金鑰