練習 - 使用訂用帳戶金鑰來呼叫 API
訂用帳戶金鑰是用來限制 API 存取的其中一個方法。
在鞋業公司範例中,NorthWind Shoes 正與供應商合作,並希望他們能夠直接存取存貨 API。 必須使用訂用帳戶金鑰來限制對 API 所有呼叫的合作夥伴存取。
您將在這裡獲得 API 的訂用帳戶金鑰。 接著將測試使用和不使用訂用帳戶金鑰來存取 API。
取得訂用帳戶金鑰
在上線過程中,為夥伴提供金鑰。 在此練習中,您會特別為 NorthWindShoes API 新增訂用帳戶。 一旦您擁有金鑰之後,您將依照和在 API 呼叫中使用金鑰標準流程操作。
在 Azure 入口網站功能表上,或從 [首頁] 頁面,選取 [所有資源],然後選取您的 API 管理執行個體。
在左側功能表窗格的 [API] 下方,選取 [訂用帳戶]。
選取 [+訂用帳戶],然後為每個設定輸入下列值。 然後選取建立。
設定 值 名稱 NorthWind
顯示名稱 NorthWind subscription
範圍 選取 [API],然後從下拉式清單中選取 [NorthWindShoes 產品]。 選取 [Northwind 訂用帳戶] 的快顯功能表 (...),然後選取 [顯示/隱藏按鍵]
選取 [主索引鍵]的 [按一下以複製] 按鈕。
將此金鑰儲存於某處,如「記事本」。
在 API 呼叫中使用訂用帳戶金鑰
下個步驟是使用訂用帳戶金鑰來測試開發人員對您已發佈 API 的存取。
在 Cloud Shell 中執行下列命令,存取 API 中的 [產品] 作業,並使用您的閘道名稱來取代
<apim gateway>
。curl https://<apim gateway>.azure-api.net/api/Products
您會收到 401,拒絕存取,因為找不到訂用帳戶金鑰的訊息。
現在,重複提出 curl 要求,這次需要包括您的訂用帳戶金鑰。
在 Cloud Shell 中執行下列命令,使用您先前儲存的金鑰來取代
<primary key>
,並使用您的閘道名稱來取代<apim gateway>
。curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
您現在應該能夠存取 API,並查看傳回至主控台的產品清單。