azure-web-pubsub-ts
使用 Azure Web PubSub 构建实时应用
使用 Azure Web PubSub SDK 在您的应用中实现基于 WebSocket 的实时消息传递。此技能提供用于 pub/sub 消息传递、组管理和连接处理的生产就绪 TypeScript 模式。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“azure-web-pubsub-ts”。 生成带有用户 ID 和组成员身份的客户端令牌
预期结果:
生成的令牌 URL 为 wss://resource.webpubsub.azure.com/client/access/hubs/chat?access_token=xxx,userId=user123,groups=[chat-room],roles=[webpubsub.joinLeaveGroup, webpubsub.sendToGroup]
正在使用“azure-web-pubsub-ts”。 向 chat-room 组中的所有用户发送消息
预期结果:
消息成功广播到 chat-room 组中的 12 个连接。消息内容:{type: 'message', data: 'Hello everyone!'}
安全审计
安全This skill contains legitimate Azure Web PubSub SDK documentation. Static analyzer produced 35 false positive external_commands findings by misinterpreting markdown code block backticks as shell execution. Network and environment variable patterns are standard Azure SDK usage. No malicious intent detected.
中风险问题 (1)
低风险问题 (2)
风险因素
🌐 网络访问 (2)
🔑 环境变量 (3)
质量评分
你能构建什么
实时聊天应用
使用 Azure Web PubSub 组和针对用户的消息传递,构建具有用户身份验证、组消息和存在指示器的多房间聊天系统。
实时仪表板更新
使用广播消息将实时数据更新推送到连接的仪表板。非常适合监控系统、分析显示或实时指标可视化。
多人游戏大厅
使用组和连接管理 API 创建具有玩家匹配、游戏内消息传递和会话管理的游戏房间。
试试这些提示
使用来自环境变量的连接字符串设置 Azure Web PubSub 服务器端客户端。创建一个名为 'chat' 的中心并生成基本的客户端访问令牌。
为用户 'user123' 生成客户端访问令牌,具有加入组、向组发送消息的角色,并自动加入 'chat-room' 组。设置过期时间为 60 分钟。
创建一个通过 negotiate 端点连接的 WebPubSubClient。注册 connected、group-message 和 disconnected 事件的处理程序。连接后加入 'chat-room' 组。
为 'chat' 中心实现 Express 中间件处理程序,包括 handleConnect 验证、handleUserEvent 处理和 onConnected 日志记录。包含一个为已验证用户生成令牌的 negotiate 端点。
最佳实践
- 生产环境中使用 DefaultAzureCredential 而非访问密钥以获得更好的安全性
- 在调用 client.start() 之前注册所有事件处理程序以避免错过初始事件
- 在 handleConnect 中验证身份验证以在握手早期拒绝未经授权的连接
避免
- 将连接字符串或访问密钥直接硬编码到源代码中而不是使用环境变量
- 访问 process.env 变量时没有 TypeScript 非空断言或回退值
- 在验证客户端连接状态为 'connected' 之前发送消息