Mi chiedevo in che modo le persone gestiscono normalmente l'autenticazione utente con redux? Sto usando Redux Router e ho un'API di backend rails che gestisce l'autenticazione dell'utente tramite un token di autenticazione.Gestione dell'autenticazione utente tramite Redux e Redux Router
Quando l'utente invia il modulo di accesso, l'API restituirà il token di autenticazione da utilizzare per le richieste successive. Originariamente ho appena archiviato quel token di autenticazione nella struttura ad albero singolo e ogni volta che invio un'azione che deve effettuare una richiesta API che richiede l'autenticazione utente, utilizzo (dispatch, getState) per recuperare quel token di autenticazione e quindi includerlo nell'API richiesta. Quindi: getState(). CurrentUser.auth_token.
Non sono sicuro se mi sto avvicinando a questo nel modo giusto. Alcune persone usano localStorage con Redux per l'autenticazione dell'utente per simulare come sessioni lato server? Quindi ogni volta che viene effettuata una richiesta API, controllo la memoria locale per il token auth e se è lì che l'utente ha effettuato l'accesso?
Quello che ho finito di fare era usare js-cookies e ho fatto un Cookie.set quando l'utente si è autenticato. Il mio componente root <App />
ha quindi un componenteDidMount che invia un'azione initAuth() che controlla il cookie corrente per vedere se è ancora valido. Se è così mantiene l'utente connesso, altrimenti ripristina il riduttore di autenticazione al suo stato predefinito.
Questo è il link per il repo con l'autenticazione dell'utente: https://github.com/SpencerCDixon/Kira/blob/master/client/actions/AuthActions.js
Eventuali suggerimenti o risorse sarebbe molto apprezzato. Ho esaminato l'esempio del mondo reale e l'esempio di autenticazione di React Router finora. L'esempio di React Router sembra utilizzare localStorage ed è per questo che sono curioso di sapere se è la strada giusta da prendere. Ho notato che esiste anche un pacchetto npm di Redsterestorage.
Mi piacerebbe sapere se sto accidentalmente aprendomi a una sorta di attacco di autenticazione o se c'è un modo migliore per avvicinarsi a questo flusso!
Già questo ha un senso in modo essenzialmente creato come un 'servizio' a parte, se si vuole per l'autenticazione dell'utente. Grazie per il tuo input Lo apprezzo – spencercdixon
hai un link per git per un esempio di login/iscrizione – hounded
e se la mia app fosse consapevole dello stato di login dell'utente? l'app dovrebbe funzionare (in tutto o in parte) anche se l'utente non è autenticato. –