您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
已重構並重新導向,藉由要求 API 金鑰保護 API。
開發人員建構了一個應用程式,向您的 API 發出要求,以存取您的後端服務。如要控管 API 存取權,您可以要求開發人員在每次要求時傳遞 API 金鑰。如果金鑰遺失或無效,要求就會失敗。
「發布」是指讓應用程式開發人員能夠使用您的 API 的過程。下列工作可以廣泛定義發布 API:
- 在 Apigee Edge 中建立封裝您 API 的 API 產品。
- 在 Edge 上註冊應用程式開發人員。只有已註冊的應用程式開發人員才能註冊應用程式。
- 開發人員會在 Edge 上註冊應用程式,以便存取 API 產品。開發人員會收到 API 金鑰做為回應。開發人員已取得 API 金鑰,可以向您的 API 發出要求。
詳情請參閱「發布簡介」。
下表定義了用於註冊應用程式及產生金鑰的部分字詞:
字詞 | 定義 |
---|---|
API 產品 | 一組 API Proxy 加上服務方案,設定這些 API 的存取權限制。API 產品是 Apigee Edge 用來授權及控管 API 存取權的中央機制。 |
開發人員 | API 消費者。開發人員會編寫可向您的 API 發出要求的應用程式。 |
應用程式 | 開發人員註冊以存取 API 產品的用戶端應用程式。透過 API 產品註冊應用程式時,系統會產生 API 金鑰,以便存取該產品中的 API。 |
API 金鑰 | 包含授權資訊的字串,用戶端應用程式會使用這組授權資訊存取 API 產品公開的資源。當註冊的應用程式與 API 產品建立關聯時,系統就會產生 API 金鑰。 |
進行本教學課程的必備條件
本教學課程假設您已完成第一個教學課程,您會建立用來存取 Yahoo 天氣 API 的 API Proxy。如果您尚未完成第一個教學課程,請參閱「要求 API 金鑰來保護 API」一文。
步驟 1:建立 API 產品
- 在管理 UI 中,按一下「發布」分頁標籤,然後點選「產品」。
- 按一下「(+) 產品」。
- 在「新增產品」對話方塊中輸入或選取下列內容:
欄位 值 名稱 免費 API 產品 顯示名稱 免費 API 產品 說明 免費 API 產品 環境 測試 存取權 僅供內部使用 金鑰核准類型 自動
(API 金鑰產生後會自動核准)配額 每小時 10 個要求
(將要求數限制為每小時 10 次)允許的 OAuth 範圍 留白 填入對話方塊應如下所示:
- 在「資源」部分選擇所需設定:
- API Proxy:weatherapikey
- 修訂版本:1
- 資源路徑:/forecastrss**
「資源路徑」會指定產品允許應用程式存取的資源 URI。在此範例中,應用程式只能透過此 API 產品存取 weatherapikey Proxy 上的 /forecastrss 資源。禁止使用這項 API 產品存取 weatherapiproxy Proxy 或任何其他 Proxy 上的任何其他資源。
「資源路徑」可以使用萬用字元。萬用字元「/**」表示包含所有子 URI,表示資源格式為 /forecastrss/foo/bar。萬用字元「/」表示只會納入一個層級的 URI。詳情請參閱「建立 API 產品」一文。
請注意,「Resource Path」下拉式清單會顯示指定 API Proxy 中定義的所有條件式流程。API Proxy 的條件式流程會定義與資源路徑相關聯的邏輯或處理步驟。API 產品可控管這些資源路徑的存取權。
- 按一下「Import Resource」。已新增資源路徑,且 weatherapikey API Proxy 會自動新增至「Product API Proxy」一節。
- 按一下 [儲存]。您的新產品會顯示在「產品」頁面上。
瞭解詳情:
步驟 2:註冊開發人員
如要產生 API 金鑰,請先註冊應用程式,並將該金鑰與 API 產品建立關聯。不過,您必須先註冊應用程式的開發人員,才能註冊應用程式。
- 在管理 UI 中,依序按一下「發布」分頁標籤和「開發人員」。
- 按一下「(+) 開發人員」。
- 在「New Developer」對話方塊中輸入下列值:
- First Name:Jane
- 姓氏:教學課程
- 電子郵件地址:janetutorial@example.com
- 使用者名稱:jtutorial
- 按一下 [儲存]。新開發人員會顯示在「開發人員」頁面的開發人員清單中。
瞭解詳情:
步驟 3:註冊應用程式
您擁有 API 產品和開發人員後,可以透過 API 產品註冊應用程式。註冊應用程式後,系統會針對與應用程式相關聯的 API 產品產生 API 金鑰。接著,您可以將金鑰發布給應用程式開發人員,讓他們透過應用程式存取 API 產品的功能。
- 在 API 平台 UI 中,依序按一下「發布」分頁標籤和「開發人員應用程式」。
- 按一下「(+) 開發人員應用程式」。
- 在「新增應用程式」對話方塊中輸入下列值:
- 顯示名稱:Weather API Key App
- 開發人員:Jane 教學課程 (janetutorial@example.com)
- Callback URL (回呼網址):留空
- 將應用程式與產品建立關聯:
- 在「產品」部分按一下「+ 產品」。
- 選取「免費 API 產品」。
- 按一下「勾號」圖示即可接受變更。
- 按一下「儲存」。新應用程式會顯示在「開發人員應用程式」頁面上的應用程式清單中。
- 在應用程式清單中選取「Weather API Key App」。系統會隨即開啟該應用程式的詳細資料頁面。
- 由於您在建立 API 產品時選取了「金鑰核准類型:自動」,因此會自動核准該 API 金鑰,讓您可以立即查看。(如果您選取「Approval Type: Manual」,則必須在 Free API 產品的「動作」欄中按一下「核准」,才能核准 API 金鑰)。
- 在「產品」專區中的「免費 API 產品」項目旁邊,按一下「Consumer Key」(消費者金鑰) 和「Consumer Secret」(消費者密鑰) 資料欄中的「Show」(顯示),即可顯示產生的金鑰。
用戶端金鑰是 API 金鑰的另一個名稱,是應用程式透過 API Proxy 存取預測資源的唯一金鑰。透過 OAuth 2.0 保護 API 時,必須使用用戶端密鑰 (以及用戶端金鑰)。請參閱「OAuth 2.0:設定新的 API Proxy」一文。
瞭解詳情:
步驟 4:在要求中使用 API 金鑰
為確保 VerifyAPIKey 政策正常運作,您必須使用有效的 API 金鑰呼叫 API Proxy,以進行測試。您可以透過瀏覽器、API Proxy 的「Trace」頁面、Apigee 控制台或使用 cURL,向瀏覽器要求 API Proxy。要求的網址格式為:
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」一節。