From a44be48c7ea4f6f8f84512afad126be4585cfaf9 Mon Sep 17 00:00:00 2001 From: Lovvvve Date: Mon, 1 Jun 2020 11:48:21 +0800 Subject: [PATCH] fix(sso login): sso login redirect --- cmdb-ui/src/api/index.js | 4 ++-- cmdb-ui/src/api/login.js | 5 +++-- cmdb-ui/src/permission.js | 6 +++--- cmdb-ui/src/store/modules/user.js | 16 ++++------------ 4 files changed, 12 insertions(+), 19 deletions(-) diff --git a/cmdb-ui/src/api/index.js b/cmdb-ui/src/api/index.js index a0044ea..b24c9cc 100644 --- a/cmdb-ui/src/api/index.js +++ b/cmdb-ui/src/api/index.js @@ -1,8 +1,8 @@ import config from '@/config/defaultSettings' const api = { - Login: config.useSSO ? '/api/sso/login' : '/login', - Logout: config.useSSO ? '/api/sso/logout' : '/logout', + Login: config.useSSO ? config.ssoLoginRedirectUrl : '/login', + Logout: config.useSSO ? config.ssoLogoutRedirectUrl : '/logout', ForgePassword: '/auth/forge-password', Register: '/auth/register', twoStepCode: '/auth/2step-code', diff --git a/cmdb-ui/src/api/login.js b/cmdb-ui/src/api/login.js index 215950b..2d40e5a 100644 --- a/cmdb-ui/src/api/login.js +++ b/cmdb-ui/src/api/login.js @@ -39,9 +39,10 @@ export function getInfo () { } export function logout () { - console.log('logout........') + console.log('logout........', config.useSSO) if (config.useSSO) { - window.location.replace(api.Logout) + window.location.href = api.Logout + return Promise.resolve() } else { return axios({ url: api.Logout, diff --git a/cmdb-ui/src/permission.js b/cmdb-ui/src/permission.js index e42f5ea..1cb5930 100644 --- a/cmdb-ui/src/permission.js +++ b/cmdb-ui/src/permission.js @@ -42,13 +42,13 @@ router.beforeEach((to, from, next) => { }) }) .catch((e) => { - console.log(e) notification.error({ - message: this.$t('tip.error'), + message: e.message, description: 'Failed to request user information. Please try again!' }) setTimeout(() => { - store.dispatch('Logout') + console.log('should re-login') + store.dispatch('Login') }, 3000) }) } else if (to.path === '/user/login' && !config.useSSO && store.getters.roles.length !== 0) { diff --git a/cmdb-ui/src/store/modules/user.js b/cmdb-ui/src/store/modules/user.js index 66ad92f..604fde5 100644 --- a/cmdb-ui/src/store/modules/user.js +++ b/cmdb-ui/src/store/modules/user.js @@ -75,18 +75,10 @@ const user = { // logout Logout ({ commit, state }) { - return new Promise((resolve) => { - commit('SET_TOKEN', '') - commit('SET_ROLES', []) - Vue.ls.remove(ACCESS_TOKEN) - - logout(state.token).then(() => { - window.location.reload() - resolve() - }).catch(() => { - resolve() - }) - }) + commit('SET_TOKEN', '') + commit('SET_ROLES', []) + Vue.ls.remove(ACCESS_TOKEN) + return logout(state.token) } }