Redis
 sql >> Database >  >> NoSQL >> Redis

Laravel 5.1 Session e Socket.IO + Redis - Invio di notifiche a utenti (conosciuti) collegati e gruppi di utenti

Ho implementato (lentamente) qualcosa di simile per un'app Web che utilizza Autobahn e WAMP, è il protocollo e il router associati. Attualmente ho circa cinque servizi diversi (alcuni scritti in PHP, altri in NodeJS) più i client che comunicano tutti in tempo reale.

La cosa bella di WAMP è che incapsula sia le chiamate di procedura remota (RPC) che i modelli di pubblicazione/sottoscrizione (PubSub) per la comunicazione.

Il mio schema di autenticazione è un po' complicato:su ogni pagina dell'app web di Laravel, c'è un valore di token che è univoco per l'utente e generato al momento dell'accesso all'app di Laravel. Javascript utilizza questo valore del token per autenticarsi quando il client si connette al router WAMP:se si tratta di un token non valido (o obsoleto), la connessione viene rifiutata.

Per quanto riguarda la limitazione delle notifiche a utenti o gruppi specifici, un modo semplice per farlo sarebbe racchiudere il codice JS appropriato in una funzione che viene chiamata (o viene inviata al client solo nel modello del blade) solo se l'utente dispone dell'appropriato autorizzazioni.

Infine, la mia applicazione è strettamente per l'uso all'interno del nostro firewall, quindi non ho indagato sull'utilizzo della crittografia/decrittografia.