技能 azure-web-pubsub-ts
📦

azure-web-pubsub-ts

安全 🌐 网络访问🔑 环境变量

Echtzeit-Anwendungen mit Azure Web PubSub erstellen

Implementieren Sie WebSocket-basiertes Echtzeit-Messaging in Ihren Anwendungen mit Azure Web PubSub SDKs. Diese Skill bietet produktionsreife Muster für Pub/Sub-Messaging, Gruppenverwaltung und Verbindungsverwaltung mit TypeScript.

支持: Claude Codex Code(CC)
📊 70 充足
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“azure-web-pubsub-ts”。 Client-Token mit Benutzer-ID und Gruppenmitgliedschaft generieren

预期结果:

Token generiert mit 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”。 Nachricht an alle Benutzer in chat-room-Gruppe senden

预期结果:

Nachricht erfolgreich an 12 Verbindungen in Gruppe chat-room übertragen. Nachrichteninhalt: {type: 'message', data: 'Hello everyone!'}

安全审计

安全
v1 • 2/25/2026

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
已扫描文件
316
分析行数
5
发现项
1
审计总数
中风险问题 (1)
False Positive: External Command Detection
Static analyzer detected 35 instances of 'Ruby/shell backtick execution'. These are markdown code block delimiters in documentation, not actual shell command execution. No child_process or exec usage present.
低风险问题 (2)
Standard Network Usage
fetch() call at line 155 is legitimate WebSocket negotiation pattern for Azure Web PubSub client connection. URL is relative endpoint '/negotiate', not external hardcoded URL.
Standard Environment Variable Configuration
Environment variable access for WEBPUBSUB_CONNECTION_STRING and WEBPUBSUB_ENDPOINT follows Azure SDK best practices. These are configuration patterns, not credential leakage.

风险因素

审计者: claude

质量评分

38
架构
100
可维护性
87
内容
31
社区
96
安全
91
规范符合性

你能构建什么

Echtzeit-Chat-Anwendung

Erstellen Sie ein Mehrbenutzer-Chat-System mit Benutzerauthentifizierung, Gruppen-Messaging und Präsenzindikatoren mithilfe von Azure Web PubSub-Gruppen und benutzerzielgerichtetem Messaging.

Live-Dashboard-Updates

Übertragen Sie Echtzeit-Datenupdates an verbundene Dashboards mithilfe von Broadcast-Messaging. Ideal für Überwachungssysteme, Analyse-Anzeigen oder Live-Metriken-Visualisierung.

Multiplayer-Spiel-Lobby

Erstellen Sie Spielräume mit Spieler-Matchmaking, In-Game-Messaging und Sitzungsverwaltung mithilfe von Gruppen- und Verbindungsverwaltungs-APIs.

试试这些提示

Grundlegende Einrichtung
Richten Sie den Azure Web PubSub-Server-Client mithilfe der Verbindungszeichenfolge aus den Umgebungsvariablen ein. Erstellen Sie einen Hub namens 'chat' und generieren Sie ein grundlegendes Client-Zugriffstoken.
Authentifizierte Token-Generierung
Generieren Sie ein Client-Zugriffstoken für Benutzer 'user123' mit Rollen zum Beitreten von Gruppen, Senden an Gruppen und automatischem Beitreten der 'chat-room'-Gruppe. Setzen Sie die Ablaufzeit auf 60 Minuten.
Clientseitige Verbindung
Erstellen Sie einen WebPubSubClient, der über einen Negotiate-Endpunkt eine Verbindung herstellt. Registrieren Sie Handler für connected-, group-message- und disconnected-Ereignisse. Treten Sie der 'chat-room'-Gruppe nach der Verbindung bei.
Express-Ereignishandler
Implementieren Sie einen Express-Middleware-Handler für den 'chat'-Hub mit handleConnect-Validierung, handleUserEvent-Verarbeitung und onConnected-Protokollierung. Fügen Sie einen Negotiate-Endpunkt hinzu, der Tokens für authentifizierte Benutzer generiert.

最佳实践

  • Verwenden Sie DefaultAzureCredential für die Produktion anstelle von Zugriffsschlüsseln für bessere Sicherheit
  • Registrieren Sie alle Ereignishandler vor dem Aufruf von client.start(), um fehlende initiale Ereignisse zu vermeiden
  • Validieren Sie die Authentifizierung in handleConnect, um nicht autorisierte Verbindungen früh im Handshake abzulehnen

避免

  • Hardcodieren von Verbindungszeichenfolgen oder Zugriffsschlüsseln direkt im Quellcode anstelle der Verwendung von Umgebungsvariablen
  • Zugreifen auf process.env-Variablen ohne TypeScript Non-Null-Assertion oder Fallback-Werte
  • Senden von Nachrichten, bevor der Client-Verbindungsstatus 'connected' verifiziert wurde

常见问题

Was ist der Unterschied zwischen @azure/web-pubsub und @azure/web-pubsub-client?
@azure/web-pubsub ist das serverseitige SDK zum Verwalten von Hubs, Generieren von Tokens und Senden von Nachrichten. @azure/web-pubsub-client ist das Browser/Node.js-Client-SDK zum Verbinden mit WebSocket-Endpunkten und Behandeln von Echtzeit-Nachrichten.
Wie authentifiziere ich Benutzer mit Azure Web PubSub?
Verwenden Sie entweder Azure Entra ID mit DefaultAzureCredential (empfohlen für die Produktion) oder generieren Sie Tokens mit userId und Rollen mithilfe des Server-SDKs. Clients stellen die Verbindung mit der generierten Token-URL her.
Was passiert, wenn ein Client unerwartet die Verbindung trennt?
Azure Web PubSub versucht automatisch die Wiederverbindung. Behandeln Sie das 'disconnected'-Ereignis für die Bereinigung und 'rejoin-group-failed', um Fälle zu behandeln, in denen das Gruppen-Wiederbeitreten nach der Wiederverbindung fehlschlägt.
Kann ich Nachrichten an bestimmte Benutzer im Gegensatz zu allen Benutzern senden?
Ja. Verwenden Sie sendToAll() für Broadcast, sendToUser() für benutzerzielgerichtete Nachrichten (wird an alle ihre Verbindungen übermittelt) oder sendToConnection() für eine spezifische Verbindungs-ID.
Wie funktionieren Gruppen in Azure Web PubSub?
Gruppen sind logische Kanäle innerhalb eines Hubs. Benutzer können Gruppen dynamisch beitreten/verlassen. An eine Gruppe gesendete Nachrichten erreichen alle Verbindungen in dieser Gruppe. Nützlich für Chat-Räume, Spiel-Lobbys oder themenbasierte Abonnements.
Was ist das Negotiate-Endpunkt-Muster?
Der Negotiate-Endpunkt ist eine Server-Route, die Client-Zugriffstokens generiert. Clients rufen diesen Endpunkt auf, um eine WebSocket-URL mit Zugriffstoken zu erhalten und verbinden sich dann mit dieser URL. Dies hält Anmeldeinformationen serverseitig.

开发者详情

文件结构

📄 SKILL.md