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)
},
currentList: CURRENT_LIST,
background: 'background',
background: 'background', // FIXME: Return the full thing or nothing at all to prevent calls to /null
menuActive: MENU_ACTIVE,
userInfo: state => state.auth.info,
authenticated: state => state.auth.authenticated,

View file

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

View file

@ -39,8 +39,18 @@ export default {
}
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')
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')
this.$store.commit(ERROR_MESSAGE, this.$t('user.auth.openIdStateError'))
return