fix: client login
This commit is contained in:
@@ -86,10 +86,12 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.refreshStrategies()
|
||||
this.$refs.iptEmail.focus()
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* SELECT STRATEGY
|
||||
*/
|
||||
selectStrategy (key, useForm) {
|
||||
this.selectedStrategy = key
|
||||
this.screen = 'login'
|
||||
@@ -100,28 +102,10 @@ export default {
|
||||
this.$refs.iptEmail.focus()
|
||||
}
|
||||
},
|
||||
refreshStrategies () {
|
||||
this.isLoading = true
|
||||
this.$apollo.query({
|
||||
query: strategiesQuery
|
||||
}).then(resp => {
|
||||
if (_.has(resp, 'data.authentication.providers')) {
|
||||
this.strategies = _.get(resp, 'data.authentication.providers', [])
|
||||
} else {
|
||||
throw new Error('No authentication providers available!')
|
||||
}
|
||||
this.isLoading = false
|
||||
}).catch(err => {
|
||||
console.error(err)
|
||||
this.$store.commit('showNotification', {
|
||||
style: 'red',
|
||||
message: err.message,
|
||||
icon: 'warning'
|
||||
})
|
||||
this.isLoading = false
|
||||
})
|
||||
},
|
||||
login () {
|
||||
/**
|
||||
* LOGIN
|
||||
*/
|
||||
async login () {
|
||||
if (this.username.length < 2) {
|
||||
this.$store.commit('showNotification', {
|
||||
style: 'red',
|
||||
@@ -138,14 +122,15 @@ export default {
|
||||
this.$refs.iptPassword.focus()
|
||||
} else {
|
||||
this.isLoading = true
|
||||
this.$apollo.mutate({
|
||||
mutation: loginMutation,
|
||||
variables: {
|
||||
username: this.username,
|
||||
password: this.password,
|
||||
provider: this.selectedStrategy
|
||||
}
|
||||
}).then(resp => {
|
||||
try {
|
||||
let resp = await this.$apollo.mutate({
|
||||
mutation: loginMutation,
|
||||
variables: {
|
||||
username: this.username,
|
||||
password: this.password,
|
||||
strategy: this.selectedStrategy
|
||||
}
|
||||
})
|
||||
if (_.has(resp, 'data.authentication.login')) {
|
||||
let respObj = _.get(resp, 'data.authentication.login', {})
|
||||
if (respObj.responseResult.succeeded === true) {
|
||||
@@ -173,7 +158,7 @@ export default {
|
||||
} else {
|
||||
throw new Error('Authentication is unavailable.')
|
||||
}
|
||||
}).catch(err => {
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
this.$store.commit('showNotification', {
|
||||
style: 'red',
|
||||
@@ -181,9 +166,12 @@ export default {
|
||||
icon: 'warning'
|
||||
})
|
||||
this.isLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* VERIFY TFA CODE
|
||||
*/
|
||||
verifySecurityCode () {
|
||||
if (this.securityCode.length !== 6) {
|
||||
this.$store.commit('showNotification', {
|
||||
@@ -230,6 +218,16 @@ export default {
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
apollo: {
|
||||
strategies: {
|
||||
query: strategiesQuery,
|
||||
update: (data) => data.authentication.strategies,
|
||||
watchLoading (isLoading) {
|
||||
this.isLoading = isLoading
|
||||
this.$store.commit(`loading${isLoading ? 'Start' : 'Stop'}`, 'login-strategies-refresh')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user