練習 - 使用訂用帳戶金鑰來呼叫 API

已完成

訂用帳戶金鑰是用來限制 API 存取的其中一個方法。

在鞋業公司範例中,NorthWind Shoes 正與供應商合作,並希望他們能夠直接存取存貨 API。 必須使用訂用帳戶金鑰來限制對 API 所有呼叫的合作夥伴存取。

您將在這裡獲得 API 的訂用帳戶金鑰。 接著將測試使用和不使用訂用帳戶金鑰來存取 API。

取得訂用帳戶金鑰

在上線過程中,為夥伴提供金鑰。 在此練習中,您會特別為 NorthWindShoes API 新增訂用帳戶。 一旦您擁有金鑰之後,您將依照和在 API 呼叫中使用金鑰標準流程操作。

  1. 在 Azure 入口網站功能表上,或從 [首頁] 頁面,選取 [所有資源],然後選取您的 API 管理執行個體。

  2. 在左側功能表窗格的 [API] 下方,選取 [訂用帳戶]

  3. 選取 [+訂用帳戶],然後為每個設定輸入下列值。 然後選取建立

    設定
    名稱 NorthWind
    顯示名稱 NorthWind subscription
    範圍 選取 [API],然後從下拉式清單中選取 [NorthWindShoes 產品]。
  4. 選取 [Northwind 訂用帳戶] 的快顯功能表 (...),然後選取 [顯示/隱藏按鍵]

  5. 選取 [主索引鍵]的 [按一下以複製] 按鈕。

  6. 將此金鑰儲存於某處,如「記事本」。

在 API 呼叫中使用訂用帳戶金鑰

下個步驟是使用訂用帳戶金鑰來測試開發人員對您已發佈 API 的存取。

  1. 在 Cloud Shell 中執行下列命令,存取 API 中的 [產品] 作業,並使用您的閘道名稱來取代 <apim gateway>

    curl https://<apim gateway>.azure-api.net/api/Products
    

    您會收到 401,拒絕存取,因為找不到訂用帳戶金鑰的訊息。

  2. 現在,重複提出 curl 要求,這次需要包括您的訂用帳戶金鑰。

  3. 在 Cloud Shell 中執行下列命令,使用您先前儲存的金鑰來取代 <primary key>,並使用您的閘道名稱來取代 <apim gateway>

    curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
    

    您現在應該能夠存取 API,並查看傳回至主控台的產品清單。