feat(auth, config): 调整开发环境配置并更新SSO登出流程
- 调整开发环境服务配置,切换激活URL为测试域名地址
- 新增SSO登出URL归一化逻辑,修复参数格式问题
- 更新登出重定向至统一SSO登出页面
| | |
| | | export const serviceConfig: Record<ServiceEnvType, Record<string, string>> = { |
| | | dev: { |
| | | // url: 'http://localhost:3000', |
| | | url: 'http://221.182.45.100:8000', |
| | | // url: 'http://rt-admin.test.xiaopeng.local', |
| | | // url: 'http://221.182.45.100:8000', |
| | | url: 'http://rt-admin.test.xiaopeng.local', |
| | | // url: 'http://rt-api.deploy-test.xiaopeng.com', |
| | | }, |
| | | production: { |
| | |
| | | import { useRouteStore } from './router' |
| | | import { useTabStore } from './tab' |
| | | |
| | | function normalizeLogoutRedirectUrl(rawUrl: string) { |
| | | const normalizedUrl = rawUrl |
| | | .trim() |
| | | .replace(/\/sso\s+login_page\//, '/sso/login_page/') |
| | | |
| | | try { |
| | | const url = new URL(normalizedUrl) |
| | | const appId = url.searchParams.get('appId') |
| | | const redirectUrl = url.searchParams.get('redirecturl') |
| | | |
| | | if (appId?.startsWith('{') && appId.endsWith('}')) |
| | | url.searchParams.set('appId', appId.slice(1, -1)) |
| | | |
| | | if (redirectUrl?.startsWith('{') && redirectUrl.endsWith('}')) |
| | | url.searchParams.set('redirecturl', redirectUrl.slice(1, -1)) |
| | | |
| | | return url.toString() |
| | | } |
| | | catch { |
| | | return normalizedUrl |
| | | } |
| | | } |
| | | |
| | | const SSO_LOGOUT_REDIRECT_URL = 'https://sso-xt.deploy-test.xiaopeng.com/sso_login_page/logout.html?appId=RoboTaxi-admin-predeploy&redirectUrl=http://192.168.110.91:9980/dashboard' |
| | | |
| | | // 临时补充权限,待服务端正式下发后删除。 |
| | | const TEMP_PERMISSION_CODES = [ |
| | | '202642901', |
| | |
| | | tabStore.clearAllTabs() |
| | | // 重置当前存储库 |
| | | this.$reset() |
| | | // 退出后回到首页 |
| | | router.replace({ path: '/dashboard' }) |
| | | // 退出后交给 SSO 退出页统一处理 |
| | | window.location.replace(SSO_LOGOUT_REDIRECT_URL) |
| | | }, |
| | | clearAuthStorage() { |
| | | local.remove('accessToken') |