Mercure-Hub: Prenumeratorių autentifikavimas
Ši dokumentacija yra Pradžia vadovo dalis. Visą vadovą rasite čia: Kaip pradėti naudotis Mercure-hub.
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Mercure-Hub cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Neriboti užklausų ir pranešimų dydžiai.
- Pritaikomas domeno vardas, apsaugotas HTTPS (pavyzdžiui, https://real-time.jūsų-įmonė.com).
- Lengvi atnaujinimai vienu paspaudimu.
- Optimali veikla ir tvirta sauga, užtikrinama privačiu ir dedikuotu VM.
- Prieinama 🇪🇺 Europoje ir 🇺🇸 JAV.
Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių, kad išbandytumėte Stackhero Mercure-Hub cloud hosting sprendimą!
Ankstesniuose pavyzdžiuose prenumeratoriai nebuvo autentifikuoti ir jums reikėjo leisti "anoniminius prenumeratorius" Stackhero prietaisų skydelyje.
Norėdami autentifikuoti prenumeratorius, generuojate JWS (JSON Web Signature) naudodami "Subscriber JWT key", apibrėžtą Stackhero prietaisų skydelyje. JWS tada siunčiamas naudojant naršyklės slapukus arba authorization antraštę.
Kadangi Server-Sent Events API nepalaiko pasirinktinių antraščių apibrėžimų, turi būti naudojami slapukai. Tačiau, naudojant slapukus, jūsų Mercure-hub serveris ir klientas turi dalintis tuo pačiu domenu (arba subdomenu).
Jei norite naudoti SSE tarp skirtingų domenų, apsvarstykite EventSource polyfill, kuris leidžia antraščių apibrėžimus. Viena galimybė yra https://github.com/Yaffle/EventSource.
Pirmiausia, generuokite JWS savo klientui jūsų serverio pusėje. Pavyzdys yra backend/subscriberJwsGenerator.js. Tiesiog įveskite savo prenumeratoriaus JWT ir paleiskite skriptą naudodami node subscriberJwsGenerator.js.
Tada, front end pusėje, faile frontend/subscriberWithAuthorization.html, užpildykite savo endpoint ir sugeneruotą JWS. Atidarykite failą savo naršyklėje ir Mercure-hub dabar veiks su autentifikacija!
Nepamirškite nuimti varnelės nuo "Leisti anoniminius prenumeratorius" Stackhero prietaisų skydelyje!