首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止Azure API Management将订阅密钥查询参数传递给Logic App?

如何防止Azure API Management将订阅密钥查询参数传递给Logic App?
EN

Stack Overflow用户
提问于 2020-06-06 05:43:39
回答 1查看 767关注 0票数 0

我正在使用Azure API管理作为我的Logic App的前端。需要启用“需要订阅”设置,因为我们确实需要保护。但是,我们必须通过查询参数发送键,因为我们的调用应用程序只支持GET,而不支持POST。

因此,我的应用程序接口调用是使用https://my.azure-api.net/myapi/manual/paths/invoke?subscription-key=mykey格式发送到Azure的

现在在Azure API设置中,我确实创建了一个策略集来删除"subscription-key“查询参数上的操作,但这里有个问题:

即使将参数从请求正文中删除到Logic App中,但在逻辑App中的“原始”输出中,它显示了各种头部,我们可以在这两个头部中看到订阅密钥:

代码语言:javascript
运行
复制
 "X-WAWS-Unencoded-URL": "/myapi/manual/paths/invoke?subscription-key=xxx
 "X-Original-URL": /myapi/manual/paths/invoke?subscription-key=xxx

换句话说,在删除参数之前,完整的原始查询URL对Logic App是可用的。这会将API订阅密钥公开给Logic App。

有什么解决方法吗?

EN

Stack Overflow用户

回答已采纳

发布于 2020-06-07 06:40:06

啊,我现在明白了,这些头实际上是由Azure API Management自动发送到后端逻辑应用程序API的,所以除了查询参数策略之外,我所要做的就是设置头策略来删除它们。

<set-query-parameter name="subscription-key" exists-action="delete" /> <set-header name="X-WAWS-Unencoded-URL" exists-action="delete" /> <set-header name="X-Original-URL" exists-action="delete" />

这个可以解决这个问题。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62224522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档