azure - Azure API 管理订阅的自定义 API key

标签 azure azure-api-management

我正在考虑将 API 网关从另一个解决方案更改为 Azure API 管理。这是针对我们无法控制的最终用户设备上拥有数百万现有用户/安装的现有应用程序。

为了保持现有应用版本对用户有效,这意味着我需要使用 API key 的自定义 header 以及自定义 API key 值。

我可以在 API 管理门户中更改 API key header 的名称,但我还没有找到使用现有 API key 值而不是使用新的 Azure 生成的 API key 来设置订阅的方法。

有办法做到这一点吗?我们不能强制现有用户升级应用,并且完全禁用 API key 似乎也不是一个好主意。

最佳答案

您可以使用 Set-AzureRmApiManagementSubscription 设置订阅的主键和辅助键.

$apimContext = New-AzureRmApiManagementContext -ResourceGroupName "{resource group name}" -ServiceName "{your APIM name}"
Set-AzureRmApiManagementSubscription -Context $apimContext -SubscriptionId "{subscription id}" -PrimaryKey "{an existing API key}" -SecondaryKey "{an existing API key}" -State "Active"

您可以使用 Get-AzureRmApiManagementSubscription 获取订阅 ID一开始。

请注意,在将现有键值设置为主键或辅助键之前,应将其从原始订阅中删除/删除具有现有键的订阅。换句话说, key 是唯一的,您不能在不同的订阅中保留相同的 key 。

关于azure - Azure API 管理订阅的自定义 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61951103/

相关文章:

Azure DevOps 资源存储库 : self

c# - 尝试列出从 REST API 过滤的订阅

angular - 如何将 Angular Universal 发布到 azure 网站?

azure - Azure 中的权限 key 被拒绝

azure - 使用 Connect HTTP 方法请求时如何删除服务器 header Azure 应用服务

azure - 什么决定了 Azure 中应用服务的出站 IP 地址?

Azure API 管理 OAuth2 配置 - 创建授权服务和 ClientID/Secret

azure - APIM 命名值创建或更新剩余 api 不起作用

Azure API 管理操作 URL 模板

Azure API 管理 WSDL 导入在 SOAP 编码的数组类型上失败