练习 - 使用订阅密钥调用 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 中运行以下命令,并将 <apim gateway> 替换为自己的网关名称,访问 API 中的“产品”操作。

    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,并看到一系列返回到控制台的产品。