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

时间:2018-11-20 21:48:10

标签: azure authentication curl azureservicebus

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

命令: curl -v -X POST -H'授权:SharedAccessSignature sig = 58ecf57a25352fb4506f6a934bace10eeac4dae8eaf578093b8161af949b7ef4&se = 1543536196&skn = test&sr = https%3A%2F%2Fndasnsnd.servicebus.windows-net.Type。 .yml'https://ndasns.servicebus.windows.net/asbqueue/messages -d'[{“ body”:“ m1”}]'

namesapce名称:ndasns 队列名称:asbqueue

我用过 https://www.freeformatter.com/hmac-generator.html#ad-output 使用密钥,资源uri和令牌到期时间创建我的资源uri的签名。下面捕获了我提供的输入。

https://ndasns.servicebus.windows.net/+“ \ n” +1543536196

我选择了令牌的到期时间为2018年11月30日

我为队列创建了一个名为test的新共享访问策略,该策略具有所有三个功能:发送,接收,管理规则。

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

我跟随下面的链接来构建我的sendMessage https://docs.microsoft.com/en-us/rest/api/servicebus/send-message-batch 及以下链接以创建SAS令牌 https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-sas

有什么办法可以进一步调试此错误?

1 个答案:

答案 0 :(得分:0)

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

希望有帮助!