Azure服务总线-401 40103:使用CURL发布消息的授权令牌签名无效



在使用CURL 将消息发布到我在Azure服务总线中创建的队列时,我看到授权失败

命令:curl-v-X POST-H'授权:SharedAccessSignature sig=58ecf57a25352fb4506f6a934bac10eeac4dae8eaf578093b8161af949b7ef4&se=1543536196&skn=测试&sr=https%3A%2F%2Fndasns.servicebus.windows.net%2Fasbqueue'-H'内容类型:application/vnd.microsoft.com/servicebus.yml'https://ndasns.servicebus.windows.net/asbqueue/messages-d'[{"body":"m1"}]'

namesapse名称:ndasns队列名称:asbqueue

我曾经https://www.freeformatter.com/hmac-generator.html#ad-输出使用secretkey、资源uri和令牌过期时间创建我的资源uri的签名。下面是我提供的输入。

https://ndasns.servicebus.windows.net/+"\n"+1545336196

我选择代币到期时间为2018年11月30日

我为我的队列创建了一个名为test的新共享访问策略,该策略同时启用了发送、接收和管理规则这三个规则。

CURL命令的输出如下所示:HTTP/1.1 401 40103:授权令牌签名无效

我遵循下面的链接来构建我的sendMessagehttps://learn.microsoft.com/en-us/rest/api/servicebus/send-message-batch和下面的链接创建SAS令牌https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-sas

有什么方法可以进一步调试这个错误吗?

Authorization标头的sr参数(命名空间(的内容更改为仅ndasns,而不是https%3A%2F%2Fndasns.servicebus.windows.net%2Fasbqueue可能会解决此问题。

希望它能有所帮助!

相关内容

最新更新