Mercure-Hub: Authenticatie van abonnees
Deze documentatie maakt deel uit van de Aan de slag-gids. Bekijk de volledige gids hier: Hoe te beginnen met Mercure-hub.
👋 Welkom bij de Stackhero-documentatie!
Stackhero biedt een volledig beheerde Mercure-Hub cloud dienst, ontworpen om real-time datalevering eenvoudig en betrouwbaar te maken. U profiteert van:
- Onbeperkt aantal verzoeken en berichtgroottes voor maximale flexibiliteit.
- Een eigen domein met ingebouwde HTTPS-beveiliging (bijvoorbeeld, https://real-time.uw-bedrijf.com).
- Moeiteloze one-click updates om uw hub zonder gedoe up-to-date te houden.
- Hoge performance en sterke beveiliging op een privé, dedicated infrastructuur.
- Meerdere regio's: 🇪🇺 Europa en 🇺🇸 USA voor levering met lage latency.
Snel aan de slag: het duurt slechts 5 minuten om uw Mercure-Hub cloud hosting omgeving te starten en direct real-time updates naar uw applicaties te sturen.
In de eerdere voorbeelden waren abonnees niet geauthenticeerd en moest je "anonieme abonnees" toestaan op het Stackhero-dashboard.
Om abonnees te authenticeren, genereer je een JWS (JSON Web Signature) met behulp van de 'Subscriber JWT key' die is gedefinieerd in het Stackhero-dashboard. De JWS wordt vervolgens verzonden met behulp van browsercookies of de authorization header.
Aangezien de Server-Sent Events API geen aangepaste headerdefinities ondersteunt, moeten cookies worden gebruikt. Het gebruik van cookies impliceert echter dat je Mercure-hub server en client hetzelfde domein (of subdomein) moeten delen.
Als je SSE over verschillende domeinen wilt gebruiken, overweeg dan een EventSource polyfill die headerdefinities toestaat. Een optie is beschikbaar op https://github.com/Yaffle/EventSource.
Genereer eerst een JWS voor je client aan je serverzijde. Een voorbeeld is beschikbaar in backend/subscriberJwsGenerator.js. Voer eenvoudig je subscriber JWT in en voer het script uit met node subscriberJwsGenerator.js.
Vervolgens, aan de front-end, in het bestand frontend/subscriberWithAuthorization.html, vul je je endpoint en de gegenereerde JWS in. Open het bestand in je browser en Mercure-hub werkt nu met authenticatie!
Vergeet niet "Allow anonymous subscribers" uit te vinken in het Stackhero-dashboard!