mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Merge pull request #889 from gradido/hadnle-expired-jwt
feat: Redirect to Login when JWT has expired
This commit is contained in:
commit
f792d8e02b
@ -5,7 +5,7 @@ import jwt from 'jsonwebtoken'
|
|||||||
import CONFIG from '../config/'
|
import CONFIG from '../config/'
|
||||||
|
|
||||||
export default (token: string): any => {
|
export default (token: string): any => {
|
||||||
if (!token) return null
|
if (!token) return new Error('401 Unauthorized')
|
||||||
let sessionId = null
|
let sessionId = null
|
||||||
try {
|
try {
|
||||||
const decoded = jwt.verify(token, CONFIG.JWT_SECRET)
|
const decoded = jwt.verify(token, CONFIG.JWT_SECRET)
|
||||||
@ -15,6 +15,6 @@ export default (token: string): any => {
|
|||||||
sessionId,
|
sessionId,
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return null
|
throw new Error('403.13 - Client certificate revoked')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,8 @@
|
|||||||
"error": {
|
"error": {
|
||||||
"change-password": "Fehler beim Ändern des Passworts",
|
"change-password": "Fehler beim Ändern des Passworts",
|
||||||
"error": "Fehler",
|
"error": "Fehler",
|
||||||
"no-account": "Leider konnten wir keinen Account finden mit diesen Daten!"
|
"no-account": "Leider konnten wir keinen Account finden mit diesen Daten!",
|
||||||
|
"session-expired": "Sitzung abgelaufen!"
|
||||||
},
|
},
|
||||||
"form": {
|
"form": {
|
||||||
"amount": "Betrag",
|
"amount": "Betrag",
|
||||||
|
|||||||
@ -36,7 +36,8 @@
|
|||||||
"error": {
|
"error": {
|
||||||
"change-password": "Error while changing password",
|
"change-password": "Error while changing password",
|
||||||
"error": "Error",
|
"error": "Error",
|
||||||
"no-account": "Unfortunately we could not find an account to the given data!"
|
"no-account": "Unfortunately we could not find an account to the given data!",
|
||||||
|
"session-expired": "The session expired"
|
||||||
},
|
},
|
||||||
"form": {
|
"form": {
|
||||||
"amount": "Amount",
|
"amount": "Amount",
|
||||||
|
|||||||
@ -21,6 +21,12 @@ const authLink = new ApolloLink((operation, forward) => {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
return forward(operation).map((response) => {
|
return forward(operation).map((response) => {
|
||||||
|
if (response.errors && response.errors[0].message === '403.13 - Client certificate revoked') {
|
||||||
|
response.errors[0].message = i18n.t('error.session-expired')
|
||||||
|
store.dispatch('logout', null)
|
||||||
|
if (router.currentRoute.path !== '/login') router.push('/login')
|
||||||
|
return response
|
||||||
|
}
|
||||||
const newToken = operation.getContext().response.headers.get('token')
|
const newToken = operation.getContext().response.headers.get('token')
|
||||||
if (newToken) store.commit('token', newToken)
|
if (newToken) store.commit('token', newToken)
|
||||||
return response
|
return response
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user