fix: password reset
This commit is contained in:
parent
4ed665fbd9
commit
73575302de
@ -55,4 +55,9 @@ context('Login', () => {
|
|||||||
|
|
||||||
testAndAssertFailed(fixture)
|
testAndAssertFailed(fixture)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('Should redirect to /login when no user is logged in', () => {
|
||||||
|
cy.visit('/')
|
||||||
|
cy.url().should('include', '/login')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
@ -481,11 +481,20 @@ export function getAuthForRoute(route: RouteLocation) {
|
|||||||
'openid.auth',
|
'openid.auth',
|
||||||
].includes(route.name as string) &&
|
].includes(route.name as string) &&
|
||||||
localStorage.getItem('passwordResetToken') === null &&
|
localStorage.getItem('passwordResetToken') === null &&
|
||||||
localStorage.getItem('emailConfirmToken') === null
|
localStorage.getItem('emailConfirmToken') === null &&
|
||||||
|
!(route.name === 'home' && typeof route.query.userPasswordReset !== 'undefined')
|
||||||
) {
|
) {
|
||||||
saveLastVisited(route.name as string, route.params)
|
saveLastVisited(route.name as string, route.params)
|
||||||
return {name: 'user.login'}
|
return {name: 'user.login'}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(localStorage.getItem('passwordResetToken') !== null && route.name !== 'user.password-reset.reset') {
|
||||||
|
return {name: 'user.password-reset.reset'}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(localStorage.getItem('emailConfirmToken') !== null && route.name !== 'user.login') {
|
||||||
|
return {name: 'user.login'}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
router.beforeEach((to) => {
|
router.beforeEach((to) => {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<message variant="success">
|
<message variant="success">
|
||||||
{{ successMessage }}
|
{{ successMessage }}
|
||||||
</message>
|
</message>
|
||||||
<x-button :to="{ name: 'user.login' }">
|
<x-button :to="{ name: 'user.login' }" class="mt-4">
|
||||||
{{ $t('user.auth.login') }}
|
{{ $t('user.auth.login') }}
|
||||||
</x-button>
|
</x-button>
|
||||||
</div>
|
</div>
|
||||||
@ -34,6 +34,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {ref, reactive} from 'vue'
|
import {ref, reactive} from 'vue'
|
||||||
import {useI18n} from 'vue-i18n'
|
import {useI18n} from 'vue-i18n'
|
||||||
|
import {useRouter} from 'vue-router'
|
||||||
|
|
||||||
import PasswordResetModel from '@/models/passwordReset'
|
import PasswordResetModel from '@/models/passwordReset'
|
||||||
import PasswordResetService from '@/services/passwordReset'
|
import PasswordResetService from '@/services/passwordReset'
|
||||||
@ -41,6 +42,7 @@ import Message from '@/components/misc/message.vue'
|
|||||||
import Password from '@/components/input/password.vue'
|
import Password from '@/components/input/password.vue'
|
||||||
|
|
||||||
const {t} = useI18n({useScope: 'global'})
|
const {t} = useI18n({useScope: 'global'})
|
||||||
|
const router = useRouter()
|
||||||
|
|
||||||
const credentials = reactive({
|
const credentials = reactive({
|
||||||
password: '',
|
password: '',
|
||||||
@ -59,7 +61,7 @@ async function submit() {
|
|||||||
|
|
||||||
const passwordReset = new PasswordResetModel({newPassword: credentials.password})
|
const passwordReset = new PasswordResetModel({newPassword: credentials.password})
|
||||||
try {
|
try {
|
||||||
const {message} = passwordResetService.resetPassword(passwordReset)
|
const {message} = await passwordResetService.resetPassword(passwordReset)
|
||||||
successMessage.value = message
|
successMessage.value = message
|
||||||
localStorage.removeItem('passwordResetToken')
|
localStorage.removeItem('passwordResetToken')
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<message variant="success">
|
<message variant="success">
|
||||||
{{ $t('user.auth.resetPasswordSuccess') }}
|
{{ $t('user.auth.resetPasswordSuccess') }}
|
||||||
</message>
|
</message>
|
||||||
<x-button :to="{ name: 'user.login' }">
|
<x-button :to="{ name: 'user.login' }" class="mt-4">
|
||||||
{{ $t('user.auth.login') }}
|
{{ $t('user.auth.login') }}
|
||||||
</x-button>
|
</x-button>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user