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 w pełni zarządzaną usługę Mercure-Hub cloud, zaprojektowaną tak, aby dostarczanie danych w czasie rzeczywistym było proste i niezawodne. Otrzymujesz:
- Nielimitowane żądania i rozmiary wiadomości dla pełnej elastyczności.
- Własną domenę z wbudowanym zabezpieczeniem HTTPS (na przykład https://real-time.twoja-firma.com).
- Bezproblemowe aktualizacje jednym kliknięciem, które pozwalają utrzymać Twój hub zawsze aktualny bez żadnych trudności.
- Wysoką wydajność i silne zabezpieczenia na prywatnej, dedykowanej infrastrukturze.
- Wiele regionów: 🇪🇺 Europa oraz 🇺🇸 USA dla niskich opóźnień w dostarczaniu danych.
Szybki start: uruchomienie środowiska Mercure-Hub cloud hosting i rozpoczęcie przesyłania aktualizacji w czasie rzeczywistym do Twoich aplikacji zajmuje tylko 5 minut.
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!