You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Web PubSub客户端无加入组权限问题排查求助

解决方案:Azure Web PubSub客户端令牌缺少角色权限问题

问题原因

你使用的api-version=2021-10-01版本的Generate Client Token接口,不支持通过URL查询参数传递roles参数——这就是为什么你在URL里指定了roles=webpubsub.joinLeaveGroup,但解码后的JWT payload里完全没有角色信息,最终导致客户端无法加入组的核心原因。

两种修复方式

方式1:升级API版本到2023-07-01(或更高)

2023-07-01及之后的API版本支持通过URL查询参数传递roles,只需修改请求URL中的api-version即可:

https://<my-pubsub-instance>.webpubsub.azure.com/api/hubs/<hub_name>/:generateToken?userId=5753&roles=webpubsub.joinLeaveGroup&api-version=2023-07-01

生成的令牌解码后,payload中会自动包含roles字段,客户端就能获得加入/离开组的权限。

方式2:在2021-10-01版本下使用请求体传递角色

如果需要保留旧API版本,必须通过POST请求的JSON请求体来指定角色信息,而非URL参数:

  1. 移除URL中的userId和roles参数,请求URL改为:
    https://<my-pubsub-instance>.webpubsub.azure.com/api/hubs/<hub_name>/:generateToken?api-version=2021-10-01
    
  2. 发送POST请求时携带以下JSON请求体:
    {
      "userId": "5753",
      "roles": ["webpubsub.joinLeaveGroup"]
    }
    

验证结果

修复后重新生成令牌,解码后的payload应包含roles字段,示例如下:

{
  "sub": "5753",
  "nbf": 1707417893,
  "exp": 1707421493,
  "iat": 1707417893,
  "iss": "https://webpubsub.azure.com",
  "aud": "https://<my-pubsub-instance>.webpubsub.azure.com/client/hubs/<hub_name>",
  "roles": ["webpubsub.joinLeaveGroup"]
}

此时客户端连接后即可正常加入目标组。

内容的提问来源于stack exchange,提问作者Vansh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:43:29