diff --git a/src/assets/base.css b/src/assets/base.css
index 3474f444941f8de331422c1d5f2561ddd56854e7..3254e7db976246c0354e7c9d688816a04beba4d9 100644
--- a/src/assets/base.css
+++ b/src/assets/base.css
@@ -30,12 +30,6 @@
     --section-gap: 160px;
 }
 
-@media (prefers-color-scheme: dark) {
-    :root {
-        /* TODO: add dark mode colors */
-    }
-}
-
 *,
 *::before,
 *::after {
diff --git a/src/router/index.ts b/src/router/index.ts
index 4658c940e13f36ef9dea125f394a201e280f1d65..9f30616b214ad3e24875d084950a7ed858abc27b 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,5 +1,4 @@
 import { createRouter, createWebHistory } from 'vue-router'
-import authInterceptor from '@/services/authInterceptor'
 import { useUserStore } from '@/stores/userStore'
 
 const router = createRouter({
@@ -121,9 +120,9 @@ const router = createRouter({
             component: () => import('@/views/NotFoundView.vue')
         },
         {
-            path: '/addAlternativeLogin',
-            name: 'addAlternativeLogin',
-            component: () => import('@/views/AddAlternativeLogin.vue')
+            path: '/konfigurerBiometri',
+            name: 'configure-biometric',
+            component: () => import('@/views/ConfigBiometricView.vue')
         }
     ],
     scrollBehavior() {
@@ -141,19 +140,20 @@ router.beforeEach(async (to, from, next) => {
     ]
 
     const authRequired = !publicPages.some((page) => page.name === to.name)
-    const loggedIn = sessionStorage.getItem('accessToken')
-    const loginToken = localStorage.getItem('loginToken')
+    const hasLoginCredentials =
+        sessionStorage.getItem('accessToken') !== null &&
+        localStorage.getItem('refreshToken') !== null
 
-    if (authRequired && !loggedIn && !loginToken) {
+    if (authRequired && !hasLoginCredentials) {
         console.log('Routing to login')
         await router.replace({ name: 'login' })
         return next({ name: 'login' })
-    } else if (!authRequired && loggedIn) {
-        await router.replace({ name: 'home' })
-        return next({ name: 'home' })
+    } else if (!authRequired && !hasLoginCredentials) {
+        return next()
     }
 
     const configPages = [
+        { name: 'configure-biometric' },
         { name: 'configurations1' },
         { name: 'configurations2' },
         { name: 'configurations3' },
@@ -164,28 +164,17 @@ router.beforeEach(async (to, from, next) => {
 
     const userStore = useUserStore()
 
-    if (userStore.isUserConfigured == null) {
-        console.log('Checking if user is configured')
-
-        await authInterceptor('/config')
-            .then((response) => {
-                console.log(response)
-
-                userStore.isUserConfigured = response.data.challengeConfig != null
-            })
-            .catch((response) => {
-                console.log(response)
-                userStore.isUserConfigured = false
-            })
+    if (userStore.user.isConfigured == false) {
+        await userStore.checkIfUserConfigured()
     }
 
     const configRequired = !configPages.some((page) => page.name === to.name)
+    const isConfigured = userStore.user.isConfigured
 
-    if (configRequired && !userStore.isUserConfigured) {
-        console.log('Routing to configurations1')
-        await router.replace({ name: 'configurations1' })
-        return next({ name: 'configurations1' })
-    } else if (!configRequired && userStore.isUserConfigured) {
+    if (configRequired && !isConfigured) {
+        await router.replace({ name: 'configure-biometric' })
+        return next({ name: 'configure-biometric' })
+    } else if (!configRequired && isConfigured) {
         await router.replace({ name: 'home' })
         return next({ name: 'home' })
     }
diff --git a/src/services/authInterceptor.ts b/src/services/authInterceptor.ts
index d153e30e5b5def4f2e2ca30f9b894c8a8de54ce8..4fd3936b4c2466b417b812294f8ed567db87a959 100644
--- a/src/services/authInterceptor.ts
+++ b/src/services/authInterceptor.ts
@@ -35,18 +35,18 @@ authInterceptor.interceptors.response.use(
             originalRequest._retry = true
             sessionStorage.removeItem('accessToken')
 
-            const loginToken = localStorage.getItem('loginToken')
+            const refreshToken = localStorage.getItem('refreshToken')
             axios
-                .post('/auth/loginToken', null, {
+                .post('/auth/renewToken', null, {
                     headers: {
-                        Authorization: `Bearer ${loginToken}`
+                        Authorization: `Bearer ${refreshToken}`
                     }
                 })
                 .then((response) => {
                     router.push({ name: 'login-bio', params: { username: response.data.username } })
                 })
                 .catch(() => {
-                    localStorage.removeItem('loginToken')
+                    localStorage.removeItem('refreshToken')
                     router.push({ name: 'login' })
 
                     Promise.reject(error)
diff --git a/src/stores/userStore.ts b/src/stores/userStore.ts
index 2d2a30e7d561deaf35e2972c3832f173597d64ee..a40bd558854b047a2e60b747563c1bad88bb6566 100644
--- a/src/stores/userStore.ts
+++ b/src/stores/userStore.ts
@@ -13,10 +13,10 @@ export const useUserStore = defineStore('user', () => {
     const defaultUser: User = {
         firstname: 'Firstname',
         lastname: 'Lastname',
-        username: 'Username'
+        username: 'Username',
+        isConfigured: false
     }
 
-    const isUserConfigured = ref<boolean | null>(null)
     const user = ref<User>(defaultUser)
     const errorMessage = ref<string>('')
 
@@ -29,7 +29,7 @@ export const useUserStore = defineStore('user', () => {
     ) => {
         await axios
             .post(`http://localhost:8080/auth/register`, {
-                firstName: firstname, //TODO rename all instances of firstname to firstName
+                firstName: firstname,
                 lastName: lastname,
                 email: email,
                 username: username,
@@ -43,7 +43,7 @@ export const useUserStore = defineStore('user', () => {
                 user.value.lastname = lastname
                 user.value.username = username
 
-                router.push({ name: 'addAlternativeLogin' })
+                router.push({ name: 'configure-biometric' })
             })
             .catch((error) => {
                 const axiosError = error as AxiosError
@@ -65,7 +65,11 @@ export const useUserStore = defineStore('user', () => {
                 user.value.lastname = response.data.lastName
                 user.value.username = response.data.username
 
-                router.push({ name: 'home' })
+                checkIfUserConfigured()
+
+                user.value.isConfigured
+                    ? router.push({ name: 'home' })
+                    : router.push({ name: 'configure-biometric' })
             })
             .catch((error) => {
                 const axiosError = error as AxiosError
@@ -78,8 +82,6 @@ export const useUserStore = defineStore('user', () => {
         sessionStorage.removeItem('accessToken')
         localStorage.removeItem('refreshToken')
         user.value = defaultUser
-        isUserConfigured.value = null
-
         router.push({ name: 'login' })
     }
 
@@ -216,13 +218,25 @@ export const useUserStore = defineStore('user', () => {
         }
     }
 
+    const checkIfUserConfigured = async () => {
+        await authInterceptor('/config')
+            .then((response) => {
+                user.value.isConfigured = response.data.challengeConfig != null
+                console.log('User configured: ' + user.value.isConfigured)
+            })
+            .catch(() => {
+                user.value.isConfigured = false
+            })
+    }
+
     return {
+        user,
+        checkIfUserConfigured,
         register,
         login,
         logout,
         bioLogin,
         bioRegister,
-        isUserConfigured,
         errorMessage
     }
 })
diff --git a/src/types/user.ts b/src/types/user.ts
index a420d33a4deb8de0e12fb303edf205b3be5e703f..624188688f1bec4c544ebf3b4d21d50f4a2d9be9 100644
--- a/src/types/user.ts
+++ b/src/types/user.ts
@@ -2,4 +2,6 @@ export interface User {
     firstname: string
     lastname: string
     username: string
+    isConfigured: boolean
+    isBiometric?: boolean
 }
diff --git a/src/views/AddAlternativeLogin.vue b/src/views/ConfigBiometricView.vue
similarity index 100%
rename from src/views/AddAlternativeLogin.vue
rename to src/views/ConfigBiometricView.vue