Mercure-Hub: Authentifizierung von Abonnenten
Diese Dokumentation ist Teil des Erste Schritte-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man mit Mercure-hub beginnt.
👋 Willkommen bei der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Mercure-Hub Cloud Lösung, die zahlreiche Vorteile bietet, darunter:
- Unbegrenzte Anfragen und Nachrichtengrößen.
- Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://real-time.ihre-firma.com).
- Mühelose Updates mit nur einem Klick.
- Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.
- Verfügbar in 🇪🇺 Europa und 🇺🇸 USA.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Mercure-Hub Cloud Hosting Lösung von Stackhero auszuprobieren!
In den vorherigen Beispielen waren die Abonnenten nicht authentifiziert und Sie mussten "anonyme Abonnenten" im Stackhero-Dashboard zulassen.
Um Abonnenten zu authentifizieren, generieren Sie ein JWS (JSON Web Signature) mit dem im Stackhero-Dashboard definierten 'Subscriber JWT key'. Das JWS wird dann entweder über Browser-Cookies oder den authorization-Header gesendet.
Da die Server-Sent Events API keine benutzerdefinierten Header-Definitionen unterstützt, müssen Cookies verwendet werden. Die Verwendung von Cookies bedeutet jedoch, dass Ihr Mercure-hub-Server und Ihr Client dieselbe Domain (oder Subdomain) teilen müssen.
Wenn Sie SSE über verschiedene Domains hinweg verwenden möchten, ziehen Sie ein EventSource-Polyfill in Betracht, das Header-Definitionen ermöglicht. Eine Option ist verfügbar unter https://github.com/Yaffle/EventSource.
Zuerst generieren Sie ein JWS für Ihren Client auf Ihrer Serverseite. Ein Beispiel ist in backend/subscriberJwsGenerator.js verfügbar. Geben Sie einfach Ihr Subscriber JWT ein und führen Sie das Skript mit node subscriberJwsGenerator.js aus.
Dann füllen Sie im Frontend in der Datei frontend/subscriberWithAuthorization.html Ihren Endpoint und das generierte JWS aus. Öffnen Sie die Datei in Ihrem Browser und Mercure-hub funktioniert nun mit Authentifizierung!
Vergessen Sie nicht, "Anonyme Abonnenten zulassen" im Stackhero-Dashboard zu deaktivieren!