1

我一直在关注本教程以获取 azure 服务总线的访问令牌,以便我可以使用 Postman 将消息发布到队列:

https://docs.microsoft.com/en-us/rest/api/servicebus/get-azure-active-directory-tokenTh

通过作品遵循示例,我可以获得访问令牌。但是,该示例使用较旧的 v1 令牌端点,例如

https://login.microsoftonline.com/{{tennant-id}}/oauth2/token

我想使用当前的 v2 端点,例如

https://login.microsoftonline.com/{{tennant-id}}/oauth2/v2.0/token

但是当我切换得到这个错误:

AADSTS70011: The provided request must include a 'scope' input parameter. The provided value for the input parameter 'scope' is not valid. The scope https://servicebus.azure.net is not valid.

我假设范围的名称必须已更改,并且我找不到有关 azure 服务的范围的任何文档。我尝试了很多东西,例如https://servicebus.windows.nethttps://myqueue.servicebus.windows.net和谷歌搜索,但我什么也没找到。

更新

根据提供的答案,我已将“.default”附加到请求的范围。这并没有解决问题,但改变了我现在在邮递员控制台中收到错误消息:invalid_client。

我正在尝试使用邮递员“获取新的访问令牌”功能并将其设置为这样

[邮递员截图1

更新 2

上次更新中的授权类型错误 - 应该是客户端凭据,然后它将起作用。

4

2 回答 2

3

使用客户端凭证流v2.0的端点时,需要在请求正文中使用,而不是,并将 传递给 url,它应该是.scoperesource/.defaulthttps://servicebus.azure.net/.default

样本:

在此处输入图像描述

于 2020-08-24T06:11:27.013 回答
2

大多数情况下,您可能错过了在范围参数中添加 .default 。https://servicebus.azure.net/.default请尝试附加用于范围参数值的.default 。

于 2020-08-22T05:29:30.013 回答