练习 - 使用订阅密钥调用 API
订阅密钥是一种限制对 API 的访问权限的方法。
在鞋业公司示例中,NorthWind Shoes 正与供应商协作,并希望其直接访问库存 API。 对 API 的所有调用,必须使用订阅密钥来限制合作伙伴访问权限。
在这里,你将获得 API 的订阅密钥。 然后,你测试在使用订阅密钥和不使用订阅密钥的情况下对 API 的访问。
获取订阅密钥
向合作伙伴提供密钥是载入流程的一部分。 在本练习中,你专门为 NorthWindShoes API 添加订阅。 获取密钥后,可以遵循在 API 调用中使用密钥的标准过程。
在 Azure 门户菜单上或在门户主页中,选择“所有资源”,然后选择 API 管理实例。
在左侧菜单窗格中选择“API”下的“订阅”。
选择“+ 订阅”,并为每个设置输入以下值。 然后选择“创建”。
设置 值 名称 NorthWind
显示名称 NorthWind subscription
作用域 选择“API”,然后从下拉列表中选择“NorthWindShoes 产品”。 选择“Northwind 订阅”的上下文菜单 (...),然后选择“显示/隐藏密钥”。
对于“主要密钥”,选择“单击以复制”按钮。
将此密钥保存到某个位置,如记事本。
在 API 调用中使用订阅密钥
下一步是使用订阅密钥来测试对已发布 API 的开发人员访问。
在 Cloud Shell 中运行以下命令,并将
<apim gateway>
替换为自己的网关名称,访问 API 中的“产品”操作。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,并看到一系列返回到控制台的产品。