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 visiškai administruojamą Mercure-Hub cloud paslaugą, sukurtą tam, kad realaus laiko duomenų perdavimas būtų paprastas ir patikimas. Jūs gaunate:
- Neriboti užklausų ir žinučių dydžiai visiškam lankstumui.
- Individualus domenas su integruotu HTTPS saugumu (pavyzdžiui, https://real-time.jusu-imone.com).
- Paprasti vieno paspaudimo atnaujinimai, kad jūsų hub visada būtų naujausias be jokių rūpesčių.
- Aukšta sparta ir stipri apsauga naudojant privačią, dedikuotą infrastruktūrą.
- Keli regionai: 🇪🇺 Europa ir 🇺🇸 USA užtikrina mažą delsą duomenų perdavimui.
Pradėkite greitai: užtenka vos 5 minučių, kad paleistumėte savo Mercure-Hub cloud hosting aplinką ir pradėtumėte siųsti realaus laiko atnaujinimus savo aplikacijoms.
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!