diff --git a/ui/src/api/type/user.ts b/ui/src/api/type/user.ts index 1ece7c83b..094b3d31b 100644 --- a/ui/src/api/type/user.ts +++ b/ui/src/api/type/user.ts @@ -29,6 +29,7 @@ interface User { language?: string workspace_list?: Array role_name?: Array + source?: string } interface LoginRequest { diff --git a/ui/src/layout/layout-header/avatar/index.vue b/ui/src/layout/layout-header/avatar/index.vue index f5f9d7be1..3fdb96808 100644 --- a/ui/src/layout/layout-header/avatar/index.vue +++ b/ui/src/layout/layout-header/avatar/index.vue @@ -188,7 +188,11 @@ const openResetPassword = () => { const logout = () => { login.logout().then(() => { - router.push({name: 'login', query: {login_mode: 'manual'}}) + if (user?.userInfo?.source && ['CAS', 'OIDC', 'OAuth2'].includes(user.userInfo.source)) { + router.push({name: 'login', query: {login_mode: 'manual'}}) + } else { + router.push({name: 'login'}) + } }) }