Sfoglia il codice sorgente

save origin_path in client

Starink 6 anni fa
parent
commit
4b35f07683
2 ha cambiato i file con 12 aggiunte e 13 eliminazioni
  1. 11 9
      middleware/auth.js
  2. 1 4
      server/controller/auth.js

+ 11 - 9
middleware/auth.js

@@ -27,26 +27,26 @@ export default function (context) {
     try{
       const params = path.split("?")[1].split('&');
       let obj = {};
-      if(params.length !== 5
-        || params[0].split("=")[0] !== "origin_path"
-        || params[1].split("=")[0] !== "token"
-        || params[2].split("=")[0] !== "id"
-        || params[3].split("=")[0] !== "name"
-        || params[4].split("=")[0] !== "phone"
+      if(params.length !== 4
+        || params[0].split("=")[0] !== "token"
+        || params[1].split("=")[0] !== "id"
+        || params[2].split("=")[0] !== "name"
+        || params[3].split("=")[0] !== "phone"
       ){
         redirect('/error');
       }else{
-        for(let i = 0; i < 5 ; i++){
+        for(let i = 0; i < 4 ; i++){
           obj[params[i].split("=")[0]] = params[i].split("=")[1];
 
         }
         // console.log('obj', obj);
         let new_token = obj['token'];
-        let origin_path = obj['origin_path'];
         let user = {id: obj['id'], name: obj['name'], phone: obj['phone']};
 
         app.$cookies.set('token', new_token);
         app.$cookies.set('user', user);
+        let origin_path = app.$cookies.get('origin_path');
+        app.$cookies.remove('origin_path');
 
         redirect(origin_path);
       }
@@ -58,7 +58,9 @@ export default function (context) {
   }
 
   else if (!token && mainPath !== "/" && mainPath !=="/login" && mainPath !== "/register" && mainPath !=="/error" && mainPath !== "/api/receiveIDToken") {
-    redirect('/api/authenticate?path=' + mainPath);
+
+    app.$cookies.set('origin_path', path);
+    redirect('/api/authenticate');
 
   }
 

+ 1 - 4
server/controller/auth.js

@@ -59,7 +59,6 @@ class AuthController{
           }
           else{
             let claims = sub.split('%26');
-            let origin_path = ctx.cookies.get('origin_path');
             let user = {
               id: parseInt(claims[0]),
               name: claims[1],
@@ -82,7 +81,7 @@ class AuthController{
             //
             // ctx.redirect(origin_path);
 
-            let url = '/setToken?origin_path=' + origin_path + '&token=' + my_token + '&id=' + user.id + '&name=' + user.name + '&phone=' + user.phone;
+            let url = '/setToken?token=' + my_token + '&id=' + user.id + '&name=' + user.name + '&phone=' + user.phone;
             // store.commit("saveUser", user);
             // store.commit("saveToken", my_token);
             ctx.redirect(url);
@@ -96,7 +95,6 @@ class AuthController{
 
   static authenticate(ctx){
     const query = ctx.query;
-    const {path} = query;
 
     let return_uri = encodeURIComponent(ctx.origin+"/api/receiveIDToken");
     let url = ctx.origin+'/api/interaction?'+
@@ -104,7 +102,6 @@ class AuthController{
       '&scope=openid' +
       '&redirect_uri=' + return_uri;
 
-    // ctx.cookies.set("origin_path", path);
 
     console.log("redirect to " + url);