summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/router/index.js1
-rw-r--r--src/store/api.js4
-rw-r--r--src/store/modules/Authentication/AuthenticanStore.js32
-rw-r--r--src/views/Login/Login.vue2
4 files changed, 17 insertions, 22 deletions
diff --git a/src/router/index.js b/src/router/index.js
index 560da89a..9c802340 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -42,7 +42,6 @@ const routes = [
];
const router = new VueRouter({
- mode: "history",
base: process.env.BASE_URL,
routes,
linkExactActiveClass: "nav__link--current"
diff --git a/src/store/api.js b/src/store/api.js
index 39a6355c..c50bcbee 100644
--- a/src/store/api.js
+++ b/src/store/api.js
@@ -1,6 +1,8 @@
import Axios from "axios";
-const api = Axios.create();
+const api = Axios.create({
+ withCredentials: true
+});
// TODO: Permanent authentication solution
// Using defaults to set auth for sending
diff --git a/src/store/modules/Authentication/AuthenticanStore.js b/src/store/modules/Authentication/AuthenticanStore.js
index 828c3cc8..3512e2da 100644
--- a/src/store/modules/Authentication/AuthenticanStore.js
+++ b/src/store/modules/Authentication/AuthenticanStore.js
@@ -1,54 +1,48 @@
import api from "../../api";
+import Cookies from "js-cookie";
const AuthenticationStore = {
namespaced: true,
state: {
- auth: {},
status: "",
- token: sessionStorage.getItem("token") || ""
+ cookie: Cookies.get("XSRF-TOKEN")
},
getters: {
authStatus: state => state.status,
- isLoggedIn: state => !!state.token
+ isLoggedIn: state => !!state.cookie
},
mutations: {
authRequest(state) {
state.status = "loading";
},
- authSuccess(state, token, auth) {
- state.status = "authenicated";
- state.auth = auth;
- state.token = token;
+ authSuccess(state) {
+ state.status = "authenticated";
+ state.cookie = Cookies.get("XSRF-TOKEN");
},
authError(state) {
state.status = "error";
},
logout(state) {
state.status = "";
- state.token = "";
+ Cookies.remove("XSRF-TOKEN");
}
},
actions: {
login({ commit }, auth) {
commit("authRequest");
return api
- .post("/login", auth)
- .then(response => {
- const token = response.data.token;
- sessionStorage.setItem("token", token);
- api.defaults.auth = auth; // TODO Permanent Solution
- commit("authSuccess", token, auth);
- })
+ .post("/login", { data: auth })
+ .then(() => commit("authSuccess"))
.catch(error => {
commit("authError");
- sessionStorage.removeItem("token");
throw new Error(error);
});
},
logout({ commit }) {
- commit("logout");
- sessionStorage.removeItem("token");
- api.defaults.auth = {}; // Permanent solution
+ api
+ .post("/logout", { data: [] })
+ .then(() => commit("logout"))
+ .catch(error => console.log(error));
}
}
};
diff --git a/src/views/Login/Login.vue b/src/views/Login/Login.vue
index f122d289..7914ea62 100644
--- a/src/views/Login/Login.vue
+++ b/src/views/Login/Login.vue
@@ -59,7 +59,7 @@ export default {
const username = this.username;
const password = this.password;
this.$store
- .dispatch("authentication/login", { username, password })
+ .dispatch("authentication/login", [username, password])
.then(() => this.$router.push("/"))
.catch(error => console.log(error));
}