Open
Description
❓Question
I'm migrating my SPA to razzle, and some changes were needed to make it work with SSR. I was saving the JWT for authentication in the localStorage, this's what I had:
const PrivateRoute = (props) => {
const token = localStorage.getItem(BrowserStorageKeyEnum.Jwt);
let isTokenExpired = false;
if (token) {
const decodedJwt = jwt.decode(token);
const currentTimeInSeconds = moment(Math.floor(Date.now() / 1000));
const expirationTimeInSeconds = decodedJwt.exp - currentTimeInSeconds;
if (expirationTimeInSeconds <= 0) isTokenExpired = true;
}
if (token && !isTokenExpired) {
return <Route {...props} />;
} else {
return (
<Redirect
to={{
pathname: RouteEnum.Login,
state: { from: props.location }
}}
/>
);
}
};
export default PrivateRoute;
But this needs to change now. The alternative that I saw was to use http-only cookies, but I couldn't figure out how to implement this. If someone could give me some directions, I would appreciate it.