Mercure-Hub: Uwierzytelnianie subskrybentów
Ta dokumentacja jest częścią przewodnika Pierwsze kroki. Pełny przewodnik znajdziesz tutaj: Jak zacząć z Mercure-hub.
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia rozwiązanie Mercure-Hub cloud, które zapewnia wiele korzyści, w tym:
- Nieograniczone żądania i rozmiary wiadomości.
- Dostosowywalna nazwa domeny zabezpieczona za pomocą HTTPS (na przykład, https://real-time.twoja-firma.com).
- Łatwe aktualizacje za pomocą jednego kliknięcia.
- Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
- Dostępne w 🇪🇺 Europie i 🇺🇸 USA.
Oszczędzaj czas i upraszczaj sobie życie: wystarczy 5 minut, aby wypróbować rozwiązanie Mercure-Hub cloud hosting Stackhero!
W wcześniejszych przykładach subskrybenci nie byli uwierzytelnieni i musiałeś zezwolić na "anonimowych subskrybentów" w panelu Stackhero.
Aby uwierzytelnić subskrybentów, generujesz JWS (JSON Web Signature) używając 'Subscriber JWT key' zdefiniowanego w panelu Stackhero. JWS jest następnie wysyłany za pomocą ciasteczek przeglądarki lub nagłówka authorization.
Ponieważ API Server-Sent Events nie obsługuje definicji niestandardowych nagłówków, muszą być używane ciasteczka. Jednak użycie ciasteczek oznacza, że twój serwer Mercure-hub i klient muszą dzielić tę samą domenę (lub subdomenę).
Jeśli chcesz używać SSE między różnymi domenami, rozważ użycie polyfill EventSource, który pozwala na definicje nagłówków. Jedna z opcji jest dostępna na https://github.com/Yaffle/EventSource.
Najpierw wygeneruj JWS dla swojego klienta na swoim back endzie. Przykład jest dostępny w backend/subscriberJwsGenerator.js. Wprowadź po prostu swój JWT subskrybenta i uruchom skrypt za pomocą node subscriberJwsGenerator.js.
Następnie, na front endzie, w pliku frontend/subscriberWithAuthorization.html, wypełnij swój endpoint i wygenerowany JWS. Otwórz plik w przeglądarce i Mercure-hub będzie teraz działać z uwierzytelnianiem!
Nie zapomnij odznaczyć "Zezwól na anonimowych subskrybentów" w panelu Stackhero!