react-token-auth
react-token-auth copied to clipboard
Token expiration error
Hello. In my console I often see a following error:
isTokenExpired.js:35 SyntaxError: Unexpected token in JSON at position 94
at JSON.parse (<anonymous>)
at jwtExp (vendors~main.chunk.js:261086)
at Object.push../node_modules/react-token-auth/lib/isTokenExpired.js.exports.isTokenExpired (vendors~main.chunk.js:261072)
at vendors~main.chunk.js:260685
at step (vendors~main.chunk.js:260600)
at Object.next (vendors~main.chunk.js:260531)
at vendors~main.chunk.js:260503
at new Promise (<anonymous>)
at push../node_modules/react-token-auth/lib/createAuthProvider.js.__awaiter (vendors~main.chunk.js:260482)
at getSession (vendors~main.chunk.js:260679)
at vendors~main.chunk.js:260716
at step (vendors~main.chunk.js:260600)
at Object.next (vendors~main.chunk.js:260531)
at vendors~main.chunk.js:260503
at new Promise (<anonymous>)
at push../node_modules/react-token-auth/lib/createAuthProvider.js.__awaiter (vendors~main.chunk.js:260482)
at vendors~main.chunk.js:260707
at vendors~main.chunk.js:261721
at step (vendors~main.chunk.js:261691)
at Object.next (vendors~main.chunk.js:261622)
at vendors~main.chunk.js:261594
at new Promise (<anonymous>)
at push../node_modules/react-token-auth/lib/utils/createAuthFetch.js.__awaiter (vendors~main.chunk.js:261573)
at vendors~main.chunk.js:261714
at main.chunk.js:11917
at Object.dispatch (vendors~main.chunk.js:267492)
at dispatch (<anonymous>:14608:80)
at main.chunk.js:1432
at invokePassiveEffectCreate (vendors~main.chunk.js:244378)
at HTMLUnknownElement.callCallback (vendors~main.chunk.js:224994)
at Object.invokeGuardedCallbackDev (vendors~main.chunk.js:225043)
at invokeGuardedCallback (vendors~main.chunk.js:225103)
at flushPassiveEffectsImpl (vendors~main.chunk.js:244460)
at unstable_runWithPriority (vendors~main.chunk.js:269204)
at runWithPriority$1 (vendors~main.chunk.js:232400)
at flushPassiveEffects (vendors~main.chunk.js:244337)
at vendors~main.chunk.js:244218
at workLoop (vendors~main.chunk.js:269154)
at flushWork (vendors~main.chunk.js:269128)
at MessagePort.performWorkUntilDeadline (vendors~main.chunk.js:268894)
As far as I see, it comes from vendors, directly from react-token-auth LIB. Any ideas how to fix it ?
Hi, thank you for raising the issues.
Could you say what do you have in the storage at the moment of obtaining the error?
Hello. Yes, storage contains valid JSON

authProvider is defined as documentation says.
import {createAuthProvider} from 'react-token-auth';
import history from "../history";
import {PAGE_LOGIN} from "../constants/routes";
export const {useAuth, authFetch, login, logout, getSession, getSessionState} = createAuthProvider({
storageKey: 'token',
getAccessToken: session => session.token,
storage: localStorage,
onUpdateToken: (token) => {
return fetch(process.env.REACT_APP_API_HOST + '/api/token/refresh', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({refreshToken: token.refreshToken})
})
.then(r => r.json())
.catch((err) => {
logout();
console.error('Token Refresh error:', err);
history.push(PAGE_LOGIN);
})
}
});
i have the same isssue 🙁