Преглед изворни кода

[Fix 0000] 单点登录后无法正确重定向

houzekong пре 8 месеци
родитељ
комит
0a689a0832
1 измењених фајлова са 12 додато и 14 уклоњено
  1. 12 14
      src/hooks/web/useSso.ts

+ 12 - 14
src/hooks/web/useSso.ts

@@ -18,23 +18,21 @@ export function useSso() {
       const ticket = getUrlParam('ticket');
       if (!token) {
         if (ticket) {
-          await validateCasLogin({
-            ticket: ticket,
-            service: locationUrl,
-          })
-            .then((res) => {
-              redirect = false;
-              const userStore = useUserStore();
-              userStore.setToken(res.token);
-              return userStore.afterLoginAction(true, {});
-            })
-            .catch(() => {
-              redirect = true;
-              window.location.href = globSetting.casBaseUrl + '/login?service=' + encodeURIComponent(locationUrl);
+          try {
+            const res = await validateCasLogin({
+              ticket: ticket,
+              service: locationUrl,
             });
+            const userStore = useUserStore();
+            userStore.setToken(res.token);
+            redirect = true;
+            await userStore.afterLoginAction(true, {});
+          } catch (e) {
+            redirect = true;
+            window.location.href = globSetting.casBaseUrl + '/login?service=' + encodeURIComponent(locationUrl);
+          }
         } else {
           if (window.location.search == '?type=noCas') {
-            redirect = false;
           } else {
             window.location.href = globSetting.casBaseUrl + '/login?service=' + encodeURIComponent(locationUrl);
             redirect = true;