Azure Service Bus - 队列创建的授权令牌签名错误无效

时间:2018-01-17 16:25:43

标签: c# azure console azure-servicebus-queues

我必须向Queue发送消息。我在app.config中指定了连接字符串。我已经在azure上设置了SharedAccessKeyName和SharedAccessKey,并在连接字符串中设置。

我使用下面的控制台代码发送消息。

string connString =  ConfigurationSettings.AppSettings["Microsoft.ServiceBus.ConnectionString"];
NamespaceManager namespaceManager = NamespaceManager.CreateFromConnectionString(connString);


            QueueClient client = QueueClient.CreateFromConnectionString(connString, "testqueue");
            BrokeredMessage message = new BrokeredMessage("test");
            client.Send(message);
            Console.ReadLine();

我收到错误:

  

40103:授权令牌签名无效......

如何解决此问题?

2 个答案:

答案 0 :(得分:1)

  

如何解决此问题?

根据您提到的例外情况Invalid authorization token signature,我假设连接字符串中出现错误。

Endpoint=sb://{servicebusName}.servicebus.windows.net/;SharedAccessKeyName={policyName};SharedAccessKey=xxxx";

我们可以从天蓝色的门户网站获取它,您可以参考屏幕截图了解更多细节。我们也可以参考Get started with Service Bus queues

enter image description here

注意:如果您使用添加的SAS政策,请确保其有权发送邮件。

enter image description here

答案 1 :(得分:0)

例如使用C#生成SAS令牌时,请传递以下内容:

  • resourceUri应该没有尾随的'/ messages'
  • 键应该是SharedAccessKey,而不是完整的连接字符串。