mirror of
https://github.com/Bubka/2FAuth.git
synced 2024-12-04 22:31:58 +01:00
28 lines
867 B
JavaScript
Vendored
28 lines
867 B
JavaScript
Vendored
import authService from '@/services/authService'
|
|
|
|
export default async function authGuard({ to, next, nextMiddleware, stores }) {
|
|
const { user } = stores
|
|
|
|
// No authenticated user on the front-end side, we try to
|
|
// get an active user from the back-end side
|
|
if (! user.isAuthenticated) {
|
|
await authService.getCurrentUser({ returnError: true }).then(async (response) => {
|
|
const currentUser = response.data
|
|
await user.loginAs({
|
|
name: currentUser.name,
|
|
email: currentUser.email,
|
|
preferences: currentUser.preferences,
|
|
isAdmin: currentUser.is_admin,
|
|
})
|
|
})
|
|
.catch(error => {
|
|
// nothing to do
|
|
})
|
|
}
|
|
|
|
if (! user.isAuthenticated) {
|
|
next({ name: 'login' })
|
|
} else {
|
|
nextMiddleware()
|
|
}
|
|
} |