Mercure-Hub: Autenticazione degli abbonati
Questa documentazione fa parte della guida Iniziare. Consulta la guida completa qui: Come iniziare con Mercure-hub.
👋 Benvenuto nella documentazione di Stackhero!
Stackhero offre un servizio Mercure-Hub cloud completamente gestito, progettato per rendere la distribuzione di dati in tempo reale semplice e affidabile. Avrai a disposizione:
- Richieste e dimensioni dei messaggi illimitate per la massima flessibilità.
- Un dominio personalizzato con HTTPS integrato (ad esempio, https://real-time.tua-azienda.com).
- Aggiornamenti con un solo clic per mantenere il tuo hub sempre aggiornato senza alcuna difficoltà.
- Prestazioni elevate e sicurezza avanzata su un'infrastruttura privata e dedicata.
- Più regioni disponibili: 🇪🇺 Europa e 🇺🇸 USA per una consegna a bassa latenza.
Avvia tutto in pochi minuti: bastano 5 minuti per lanciare il tuo ambiente Mercure-Hub cloud hosting e iniziare a inviare aggiornamenti in tempo reale alle tue applicazioni.
Negli esempi precedenti, gli abbonati non erano autenticati e dovevate consentire "abbonati anonimi" sulla dashboard di Stackhero.
Per autenticare gli abbonati, generate un JWS (JSON Web Signature) utilizzando la 'Subscriber JWT key' definita nella dashboard di Stackhero. Il JWS viene poi inviato tramite cookie del browser o l'header authorization.
Poiché l'API Server-Sent Events non supporta le definizioni di header personalizzati, devono essere utilizzati i cookie. Tuttavia, l'uso dei cookie implica che il vostro server Mercure-hub e il client devono condividere lo stesso dominio (o sottodominio).
Se desiderate utilizzare SSE tra domini diversi, considerate un polyfill EventSource che consente le definizioni di header. Un'opzione è disponibile su https://github.com/Yaffle/EventSource.
Per prima cosa, generate un JWS per il vostro client sul vostro back end. Un esempio è disponibile in backend/subscriberJwsGenerator.js. Inserite semplicemente il vostro JWT di abbonato ed eseguite lo script con node subscriberJwsGenerator.js.
Poi, sul front end, nel file frontend/subscriberWithAuthorization.html, inserite il vostro endpoint e il JWS generato. Aprite il file nel vostro browser e Mercure-hub funzionerà ora con autenticazione!
Non dimenticate di deselezionare "Consenti abbonati anonimi" nella dashboard di Stackhero!