Skip to content

Commit c559060

Browse files
authored
Merge pull request #87 from splitly25/jwt-bug
Fix UI default theme, login session time
2 parents 5de56ac + 493e363 commit c559060

3 files changed

Lines changed: 19 additions & 14 deletions

File tree

api/src/controllers/userController.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { StatusCodes } from 'http-status-codes'
22
import { userService } from '~/services/userService.js'
33
import ms from 'ms'
4-
import { chain } from 'lodash'
4+
import { env } from '~/config/environment'
55

66
const createNew = async (req, res, next) => {
77
try {
@@ -28,7 +28,7 @@ const login = async (req, res, next) => {
2828
httpOnly: true,
2929
secure: true,
3030
sameSite: 'none',
31-
maxAge: ms('7d'),
31+
maxAge: ms(env.ACCESS_JWT_EXPIRES_IN),
3232
})
3333
res.status(StatusCodes.OK).json(result)
3434
} catch (error) {
@@ -38,7 +38,11 @@ const login = async (req, res, next) => {
3838

3939
const logout = async (req, res, next) => {
4040
try {
41-
res.clearCookie('accessToken')
41+
res.clearCookie('accessToken', {
42+
httpOnly: true,
43+
secure: true,
44+
sameSite: 'none',
45+
})
4246
res.status(StatusCodes.OK).json({ loggedOut: true })
4347
} catch (error) {
4448
next(error)

api/src/providers/JwtProvider.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
import JWT from 'jsonwebtoken';
1+
import JWT from 'jsonwebtoken'
2+
import ms from 'ms'
23

34
const generateToken = async (payload, secret_key, expiresIn = '1h') => {
45
try {
5-
return JWT.sign(payload, secret_key, { algorithm: 'HS256', expiresIn: expiresIn });
6+
return JWT.sign(payload, secret_key, { algorithm: 'HS256', expiresIn: ms(expiresIn) })
67
} catch (error) {
7-
throw new Error('Token generation failed');
8+
throw new Error('Token generation failed')
89
}
9-
};
10+
}
1011

1112
const verifyToken = async (token, secret_key) => {
1213
try {
13-
return JWT.verify(token, secret_key);
14+
return JWT.verify(token, secret_key)
1415
} catch (error) {
15-
throw new Error('Invalid or expired token');
16+
throw new Error('Invalid or expired token')
1617
}
17-
};
18+
}
1819

1920
export const JwtProvider = {
2021
generateToken,
2122
verifyToken,
22-
};
23+
}

web/src/main.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// import { StrictMode } from 'react'
22
import { createRoot } from 'react-dom/client'
33
import CssBaseline from '@mui/material/CssBaseline'
4-
import { ThemeProvider } from '@mui/material/styles'
4+
import { Experimental_CssVarsProvider as CssVarsProvider } from '@mui/material/styles'
55
import theme from '~/theme.js'
66
import { ToastContainer } from 'react-toastify'
77
import { ConfirmProvider } from 'material-ui-confirm'
@@ -27,7 +27,7 @@ createRoot(document.getElementById('root')).render(
2727
<Provider store={store}>
2828
<PersistGate loading={null} persistor={persistor}>
2929
<ChatbotProvider>
30-
<ThemeProvider theme={theme}>
30+
<CssVarsProvider theme={theme} defaultMode="light">
3131
<ConfirmProvider
3232
defaultOptions={{
3333
dialogActionsProps: { maxWidth: 'xs' },
@@ -40,7 +40,7 @@ createRoot(document.getElementById('root')).render(
4040
<App />
4141
<ToastContainer />
4242
</ConfirmProvider>
43-
</ThemeProvider>
43+
</CssVarsProvider>
4444
</ChatbotProvider>
4545
</PersistGate>
4646
</Provider>

0 commit comments

Comments
 (0)