我能够发布工作请求。第三方 API 让我们发送令牌(基本上是 Guid)作为不记名令牌。Azure 似乎对此进行了某种预验证。当我用真正随机生成的不记名令牌替换 GUID 时,它起作用了。
我仍然想知道是否有办法禁用此 Azure 签入功能。“坏”承载令牌适用于 GET 请求,但不适用于 POST/PUT 请求。
应用程序摘要 我们有 Azure 函数(即时间触发器、Orchestrator、活动),可以在 SQL 中查找本地队列表中的项目,然后通过 JSON 将其 POST 到第三方 API。
第三方 API 需要在 POST 请求中包含 Authorization 标头。
技术概述
附加信息
什么有效 所有 GET 请求。完全没有问题。
POST 请求不起作用。我将请求代理给蜂感受器,以准确查看收到的内容。当包含授权标头时,大多数标头都会被删除(即内容类型、内容长度),并且请求正文为空。
如果我删除了授权标头,则所有标头和正文都会按预期接收。
问题 我现在只能假设某些 Azure 服务、飞行前检查、安全策略正在拦截授权标头,认为它是用于“自身”的,但我完全不知道它可能是什么。我已经使用 Google 好几天了。
代码的简化版本
using var client = new HttpClient();
client.DefaultRequestHeaders.Clear();
// Request …Run Code Online (Sandbox Code Playgroud)