diff --git a/package-lock.json b/package-lock.json
index 6c90cbdf471980e235f8a00ec59d5448b42f5298..9da0cba38a9bcf9601a35068f988c40622fe2262 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,13 +14,14 @@
         "axios": "^0.26.1",
         "core-js": "^3.8.3",
         "cssom": "^0.5.0",
+        "jwt-decode": "^3.1.2",
         "roboto-fontface": "*",
         "vue": "^3.2.13",
         "vue-router": "^4.0.3",
         "vuelidate": "^0.7.7",
         "vuex": "^4.0.0",
         "vuex-persistedstate": "^4.1.0",
-        "webfontloader": "^1.0.0"
+        "webfontloader": "^1.6.28"
       },
       "devDependencies": {
         "@babel/core": "^7.12.16",
@@ -11056,6 +11057,11 @@
         "graceful-fs": "^4.1.6"
       }
     },
+    "node_modules/jwt-decode": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz",
+      "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
+    },
     "node_modules/kind-of": {
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
@@ -24449,6 +24455,11 @@
         "universalify": "^2.0.0"
       }
     },
+    "jwt-decode": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz",
+      "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
+    },
     "kind-of": {
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
diff --git a/package.json b/package.json
index fe4e8182e70eaa9150b6c4bd6aa9e414408ee7a9..672d5e1fb9ed85277e62882974bc953e0fdaaeb5 100644
--- a/package.json
+++ b/package.json
@@ -15,13 +15,14 @@
     "axios": "^0.26.1",
     "core-js": "^3.8.3",
     "cssom": "^0.5.0",
+    "jwt-decode": "^3.1.2",
     "roboto-fontface": "*",
     "vue": "^3.2.13",
     "vue-router": "^4.0.3",
     "vuelidate": "^0.7.7",
     "vuex": "^4.0.0",
     "vuex-persistedstate": "^4.1.0",
-    "webfontloader": "^1.0.0"
+    "webfontloader": "^1.6.28"
   },
   "devDependencies": {
     "@babel/core": "^7.12.16",
diff --git a/src/main.js b/src/main.js
index 34900f2ef3e7361998cbdee5516fd55fcd5c3ff7..487613b47d3535eb433800838715349e3bf57487 100644
--- a/src/main.js
+++ b/src/main.js
@@ -2,9 +2,9 @@ import { createApp } from "vue";
 import App from "./App.vue";
 import router from "./router";
 import store from "./store";
-import { loadFonts } from "./plugins/webfontloader";
 import "./index.css";
+//import { loadFonts } from "webfontloader";
 
-loadFonts();
+//loadFonts();
 
 createApp(App).use(router).use(store).mount("#app");
diff --git a/src/router/index.js b/src/router/index.js
index 09ae8cd1aa3455903a67fbf55097a3b4c68c71de..5096f881a4c2dd7bc9445d2af4818c43c525533c 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,10 +1,11 @@
+import store from "@/store";
 import { createRouter, createWebHistory } from "vue-router";
 import HomeView from "../views/HomeView.vue";
 import LoginView from "../views/LoginView.vue";
 
 const routes = [
   {
-    path: "/endre", //Endre før push
+    path: "/", //Endre før push
     name: "home",
     component: HomeView,
   },
@@ -14,9 +15,12 @@ const routes = [
     component: () => import("../views/AboutView.vue"),
   },
   {
-    path: "/profile",
+    path: "/profile/:id",
     name: "profile",
     component: () => import("../views/ProfileView.vue"),
+    beforeEnter: () => {
+      if (store.state.user.token == null) router.push("login");
+    },
   },
   {
     path: "/register",
@@ -28,7 +32,7 @@ const routes = [
       import(/* webpackChunkName: "register" */ "../views/RegisterView.vue"),
   },
   {
-    path: "/",
+    path: "/login",
     name: "login",
     component: LoginView,
   },
diff --git a/src/utils/apiutil.js b/src/utils/apiutil.js
index 773bd8d67e484a1f42d371339b5a46ce757a9347..83384310085e842c23a12a8f39594443801b2ca4 100644
--- a/src/utils/apiutil.js
+++ b/src/utils/apiutil.js
@@ -1,4 +1,5 @@
 import axios from "axios";
+import { tokenHeader } from "./token-utils";
 
 export function doLogin(loginRequest) {
   return axios
@@ -7,3 +8,42 @@ export function doLogin(loginRequest) {
       return response.data;
     });
 }
+
+export function getUser(userid) {
+  return axios
+    .get(`http://65.108.62.223:3000/api/user/` + userid, {
+      headers: tokenHeader(),
+    })
+    .then((response) => {
+      return response.data;
+    })
+    .catch((error) => {
+      console.error(error);
+    });
+}
+
+export function getRenterRating(userid) {
+  return axios
+    .get(`http://65.108.62.223:3000/api/user/renter-rating/` + userid, {
+      headers: tokenHeader(),
+    })
+    .then((response) => {
+      return response.data;
+    })
+    .catch((error) => {
+      console.error(error);
+    });
+}
+
+export function getOwnerRating(userid) {
+  return axios
+    .get(`http://65.108.62.223:3000/api/user/owner-rating/` + userid, {
+      headers: tokenHeader(),
+    })
+    .then((response) => {
+      return response.data;
+    })
+    .catch((error) => {
+      console.error(error);
+    });
+}
diff --git a/src/utils/token-utils.js b/src/utils/token-utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..063ddf605565233f03b667723fe0ecb935d651c8
--- /dev/null
+++ b/src/utils/token-utils.js
@@ -0,0 +1,13 @@
+import jwt_decode from "jwt-decode";
+import store from "@/store";
+
+export function tokenHeader() {
+  let token = store.state.user.token;
+  return { Authorization: token };
+}
+
+export function parseUserFromToken() {
+  let token = store.state.user.token;
+  console.log(token);
+  return jwt_decode();
+}