你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

获取 Azure Active Directory (Azure AD) 令牌,并使用它将消息发送到服务总线队列

有关获取 Azure Active Directory (Azure AD) 令牌的概述,请参阅 从应用程序进行身份验证

本文提供了一个获取 Azure AD 令牌的示例,可用于将消息发送到服务总线命名空间。 它使用 Postman 工具进行测试。

先决条件

将应用注册到 Azure AD

第一步是将应用程序注册到 Azure AD 租户,并记下租户 ID、客户端 ID 和客户端密码的值。 使用 Postman 工具测试 REST API 时,你将使用最新的这些值。

  1. 登录 Azure 门户

  2. 在搜索栏中,搜索 Azure Active Directory,然后从下拉列表中选择它。

    搜索 Azure Active Directory 并将其选中

  3. “Azure Active Directory ”页上,选择左侧菜单上的“ 应用注册 ”链接,然后在工具栏上选择“ + 新建注册 ”。

    切换到“应用注册”页,然后选择“新建注册”

  4. 输入应用的名称,然后选择“ 注册”。

    输入名称,然后选择“注册”

  5. 在应用程序的主页上,记下 应用程序 (客户端) ID目录 (租户) ID 的值。 你将使用这些值从 Azure AD 获取令牌。

    记下客户端 ID 和租户 ID

  6. 现在,在左侧菜单中选择“ 证书 & 机密 ”,然后选择“ + 新建客户端密码”。

    切换到“证书 & 机密”页,然后选择“新建客户端机密”

  7. 输入 说明,选择机密 何时过期,然后选择 “添加”。

    输入说明,选择到期时间,然后选择添加

  8. 选择 “客户端 机密”列表中机密值旁边的“复制”按钮,将该值复制到剪贴板。 将其粘贴到某个位置。 稍后将使用它从 Azure AD 获取令牌。

    复制客户端密码

将应用程序添加到服务总线数据发送者角色

在此示例中,我们只向服务总线队列发送消息,因此请将应用程序添加到 服务总线数据发送者 角色。

  1. “服务总线命名空间”页上,从左侧菜单中选择“访问控制”,然后在“添加角色分配”磁贴上选择“添加”。

    访问控制 -> 添加角色分配

  2. “添加角色分配”页上,为“角色”选择“Azure 服务总线数据发送方”,并在此示例中选择应用程序 (ServiceBusRestClientApp) 作为服务主体。

    将应用添加到Azure 服务总线数据发送者角色

  3. “添加角色分配”页上选择“保存”以保存角色分配。

使用 Postman 获取 Azure AD 令牌

  1. 启动 Postman。

  2. 对于方法,请选择“GET”。

  3. 对于 URI,请输入 https://login.microsoftonline.com/<TENANT ID>/oauth2/token。 将 替换为 <TENANT ID> 之前复制的租户 ID 值。

  4. 在“标头”选项卡上,添加 Content-Type 键,并添加 application/x-www-form-urlencoded 作为值。

    添加内容类型标头

  5. 切换到“正文”选项卡,添加以下键和值。

    1. 选择 “表单数据”。

    2. 添加 grant_type 键,并键入 client_credentials 作为值。

    3. 添加 client_id 密钥,并粘贴前面记录的 客户端 ID 的值。

    4. 添加 client_secret 密钥,并粘贴前面记录的 客户端密码 的值。

    5. 添加 resource 键,并键入 https://servicebus.azure.net 作为值。

      设置请求的正文

  6. 选择“发送”以发送获取令牌的请求。 结果中会显示标记。 保存令牌 (不包括双引号) 。 稍后将使用它。

    从 Azure AD 访问令牌

向队列发送消息

  1. 在“Postman”中打开一个新的选项卡。

  2. 为 方法选择 POST

  3. 按以下格式输入 URI: https://<SERVICE BUS NAMESPACE NAME>.servicebus.windows.net/<QUEUE NAME>/messages。 将 替换为 <SERVICE BUS NAMESPACE NAME> 服务总线命名空间的名称。 将 <QUEUE NAME> 替换为该队列的名称。

  4. 在“ 标头 ”选项卡上,添加以下两个标头。

    1. 使用以下格式为其添加 Authorization 键和值: Bearer <TOKEN from Azure AD>。 复制/粘贴令牌时,请勿复制封闭的双引号。

    2. 添加 Content-Type 键 和 application/atom+xml;type=entry;charset=utf-8 作为其值。

      在服务总线队列中选择为标头的授权和内容短划线类型的屏幕截图。

  5. 在“ 正文 ”选项卡上,为数据类型选择“ 原始 ”,然后输入 This is a message 或 正文的任何消息。

    服务总线队列的原始正文视图中测试消息的屏幕截图。

  6. 选择“ 发送 ”将消息发送到队列。 将状态 Created 显示为 ,代码为 201,如下图所示。

    成功状态

  7. 在Azure 门户的命名空间页上,可以看到消息已发布到队列。

    消息将发布到队列

    还可以在“服务总线队列”页上使用服务总线资源管理器 (预览) ,如下图所示来接收或查看消息。

    使用服务总线资源管理器接收消息

另请参阅

请参阅以下文章: