Je crée une application en utilisant node et express. j'implemente une solution pour l'authentification des utilisateurs à partir leurs roles et en utilisant JWT et cookie pour les sessions , tout va bien mais de que je commence à développer des autres fonctions je perds ma session suite à une actualisation de la page de navigateur ou aprés ajouter quelques modifications dans ma code , céci ma scénrio : de que un admin a authentifié , il a passé vers la page de tableau de bord , dans ma cas lorsque je perds ma session je reste en tableau de bord et je ne redirecte pas vers la page de connexion ..
Je vais fournir mon fichier auth.js à partir de mon dossier de routage.Je peux en rajouter si besoin.
import React, { useEffect } from 'react';
import './App.css';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'
import Home from './containers/Home';
import Products from './containers/Products';
import Orders from './containers/Orders';
import Signin from './containers/Signin';
import Signup from './containers/Signup';
import PrivateRoute from './components/HOC/PrivateRoute';
import { useDispatch, useSelector } from 'react-redux';
import { isUserLoggedIn } from './actions';
import Category from './containers/Category';
function App() {
const dispatch = useDispatch();
const auth = useSelector(state => state.auth);
//check if user authenticating or not and if the token exists in local stoorage or not
useEffect(() => {
if (!auth.authenticate) {
dispatch(isUserLoggedIn);
}
}, []);
return (
<div className="App">
<Router>
<Switch>
<PrivateRoute path="/" exact component={Home} />
<PrivateRoute path="/category" component={Category} />
<PrivateRoute path="/products" component={Products} />
<PrivateRoute path="/orders" component={Orders} />
<Route path="/signin" component={Signin} />
<Route path="/signup" component={Signup} />
</Switch>
</Router>
</div>
);
}
export default App;
perte de session lors de l'actualisation (NodeJS)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.