BUGFIX: clear out old refresh tokens
This commit is contained in:
@@ -36,6 +36,17 @@ app.get('*', (req, res) => {
|
||||
|
||||
//startup
|
||||
server.listen(process.env.WEB_PORT || 3200, async (err) => {
|
||||
//BUGFIX: clear out old refresh tokens
|
||||
const { Op } = require('sequelize');
|
||||
const { tokens } = require('./database/models');
|
||||
tokens.destroy({
|
||||
where: {
|
||||
createdAt: {
|
||||
[Op.lt]: new Date(new Date().setDate(new Date().getDate() - 30))
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
await database.sync();
|
||||
console.log(`listening to localhost:${process.env.WEB_PORT || 3200}`);
|
||||
});
|
||||
|
||||
@@ -9,6 +9,12 @@ const TokenProvider = props => {
|
||||
//state to be used
|
||||
const [accessToken, setAccessToken] = useState('');
|
||||
|
||||
//force a logout under certain conditions
|
||||
const forceLogout = () => {
|
||||
localStorage.removeItem("accessToken");
|
||||
setAccessToken("");
|
||||
};
|
||||
|
||||
//make the access token persist between reloads
|
||||
useEffect(() => {
|
||||
setAccessToken(localStorage.getItem("accessToken") || '');
|
||||
@@ -47,6 +53,9 @@ const TokenProvider = props => {
|
||||
|
||||
//any errors, throw them
|
||||
if (!response.ok) {
|
||||
if (response.status == 403) {
|
||||
forceLogout();
|
||||
}
|
||||
throw `${response.status}: ${await response.text()}`;
|
||||
}
|
||||
|
||||
@@ -82,6 +91,9 @@ const TokenProvider = props => {
|
||||
|
||||
//any errors, throw them
|
||||
if (!response.ok) {
|
||||
if (response.status == 403) {
|
||||
forceLogout();
|
||||
}
|
||||
throw `${response.status}: ${await response.text()}`;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user