Azure Web PubSub 服务数据平面 REST API 参考

Diagram showing the Web PubSub service workflow.

如上述工作流图和内部情况中描述的详细工作流所示,应用服务器可以使用 Web PubSub 服务公开的 REST API 向客户端发送消息或管理连接的客户端。 本文详细介绍了 REST API。

使用 REST API

通过 Azure Web PubSub 服务 AccessKey 进行身份验证

在每个 HTTP 请求中,需要使用带 JSON Web 令牌 (JWT) 的授权标头才能使用 Azure Web PubSub 服务进行身份验证。

签名算法和签名

HS256,即 HMAC-SHA256,用作签名算法。

应在 Azure Web PubSub 服务实例的连接字符串中使用 AccessKey 对生成的 JWT 令牌进行签名。

声明

以下声明需要包含在 JWT 令牌中。

声明类型 是否必需 说明
aud 应与你的 HTTP 请求 URL 相同。 例如,广播请求的受众类似于 https://example.webpubsub.azure.com/api/hubs/myhub/:send?api-version=2022-11-01
exp 此令牌过期的纪元时间。

JS 中的伪代码:

const bearerToken = jwt.sign({}, connectionString.accessKey, {
  audience: request.url,
  expiresIn: "1h",
  algorithm: "HS256",
});

通过 Microsoft Entra 令牌进行身份验证

与使用 AccessKey一样,还需要 JSON Web 令牌 (JWT) 对 HTTP 请求进行身份验证。

区别在于,在此方案中,JWT 令牌由 Microsoft Entra ID 生成

了解如何生成 Microsoft Entra ID 令牌

还可以使用基于角色的访问控制 (RBAC),为从服务器发出的针对 Azure Web PubSub 服务的请求授权。

了解如何为资源配置基于角色的访问控制角色

API

操作组 说明
服务状态 提供用于检查服务状态的操作
中心操作 提供用于管理连接并向其发送消息的操作。