Show errors from openid provider

This commit is contained in:
kolaente 2021-08-14 17:31:35 +02:00
parent 7bd081efe0
commit f79f4101b6
No known key found for this signature in database
GPG key ID: F40E70337AB24C9B
3 changed files with 13 additions and 2 deletions

View file

@ -62,7 +62,7 @@ export default {
return state.namespaces.namespaces.filter(n => !n.isArchived) return state.namespaces.namespaces.filter(n => !n.isArchived)
}, },
currentList: CURRENT_LIST, currentList: CURRENT_LIST,
background: 'background', background: 'background', // FIXME: Return the full thing or nothing at all to prevent calls to /null
menuActive: MENU_ACTIVE, menuActive: MENU_ACTIVE,
userInfo: state => state.auth.info, userInfo: state => state.auth.info,
authenticated: state => state.auth.authenticated, authenticated: state => state.auth.authenticated,

View file

@ -38,6 +38,7 @@
"loginWith": "Log in with {provider}", "loginWith": "Log in with {provider}",
"authenticating": "Authenticating…", "authenticating": "Authenticating…",
"openIdStateError": "State does not match, refusing to continue!", "openIdStateError": "State does not match, refusing to continue!",
"openIdGeneralError": "An error occured while authenticating against the third party.",
"logout": "Logout" "logout": "Logout"
}, },
"settings": { "settings": {

View file

@ -39,6 +39,16 @@ export default {
} }
localStorage.setItem('authenticating', true) localStorage.setItem('authenticating', true)
if (typeof this.$route.query.error !== 'undefined') {
let error = this.$t('user.auth.openIdGeneralError')
if (typeof this.$route.query.message !== 'undefined') {
error = this.$route.query.message
}
localStorage.removeItem('authenticating')
this.$store.commit(ERROR_MESSAGE, error)
return
}
const state = localStorage.getItem('state') const state = localStorage.getItem('state')
if (typeof this.$route.query.state === 'undefined' || this.$route.query.state !== state) { if (typeof this.$route.query.state === 'undefined' || this.$route.query.state !== state) {
localStorage.removeItem('authenticating') localStorage.removeItem('authenticating')